MDIChild i użycie ReplaceDialoga

dział ogólny

MDIChild i użycie ReplaceDialoga

Nowy postprzez Rumcajs » wtorek, 23 grudnia 2014, 09:51

Witam,

Mam formę typu MDIChild, na której mam RichEdita i funkcję Wyszukaj/Zamień zrobioną przy użyciu ReplaceDialogu.
Sama funkcja wyszukiwania jest zrobiona standardowo i działa prawidłowo.
Problem polega na tym, że jak na formie ReplaceDialogu klikam "Znajdź następny",
to nie widać tego wyszukanego tekstu na formie MDIChild.
Dopiero jak sam kliknę na RichEdita, to widzę, gdzie został znaleziony tekst.
Jak forma z RichEditem jest typu Normal, to działa to dobrze.

Co trzeba dodać, aby na formie MDIChild działało to tak samo jak na normalnej???
Avatar użytkownika
Rumcajs
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): niedziela, 23 listopada 2014, 15:15
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: C++ Builder 6
Gadu Gadu: 0
    Windows 7Chrome

Re: MDIChild i użycie ReplaceDialoga

Nowy postprzez Cyfrowy Baron » wtorek, 23 grudnia 2014, 10:03

Wpisz w funkcji wyszukującej na końcu polecenie:

KOD cpp:     UKRYJ  
RichEdit1->SetFocus();
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: MDIChild i użycie ReplaceDialoga

Nowy postprzez Rumcajs » wtorek, 23 grudnia 2014, 10:32

Mam wpisane RichEdit1->SetFocus().
Tak wygląda moja funkcja w zdarzeniu OnFind ReplaceDialoga:
Kod: Zaznacz cały
if(RichEdit1->SelLength) RichEdit1->SelStart += 1;

int MatchPos = RichEdit1->FindText(ReplaceDialog1->FindTextA,
           RichEdit1->SelStart, RichEdit1->Text.Length(),SearchTypes()<< stMatchCase);

if( MatchPos != -1 )
{
   RichEdit1->SetFocus();
   RichEdit1->SelStart = MatchPos;
   RichEdit1->SelLength = ReplaceDialog1->FindTextA.Length();
}
else
{
    RichEdit1->SelStart = 0;
}
Avatar użytkownika
Rumcajs
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): niedziela, 23 listopada 2014, 15:15
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: C++ Builder 6
Gadu Gadu: 0
    Windows 7Chrome

Re: MDIChild i użycie ReplaceDialoga

Nowy postprzez Cyfrowy Baron » wtorek, 23 grudnia 2014, 11:35

Ale powinna być na końcu wyszukiwania, a nie na końcu. Przecież chodzi o to żeby ustawić focus na kontrolkę po zakończeniu operacji. Z drugiej strony, jeśli aktywne jest okienko ReplaceDialog, to przywołaniu focusa na kontrolkę w oknie nic nie da, trzeba by jeszcze przywołać to okno.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: MDIChild i użycie ReplaceDialoga

Nowy postprzez Rumcajs » wtorek, 23 grudnia 2014, 12:54

A w jaki sposób przywołać to okno ???
Avatar użytkownika
Rumcajs
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): niedziela, 23 listopada 2014, 15:15
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: C++ Builder 6
Gadu Gadu: 0
    Windows 7Chrome

Re: MDIChild i użycie ReplaceDialoga

Nowy postprzez Cyfrowy Baron » wtorek, 23 grudnia 2014, 14:25

http://programowanie.cal.pl/cyfbar/api2.html#api37

Tylko, że jeżeli okno dialogowe ReplaceDialog jest modalne to nie da się go tak przywołać.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości

cron