Ĺadny brzuch
Witam,
Mam do rozwiazania problem (nawet dwa :P ) dotyczący obsługi okien dialogowyczh (modalnych):
Otwieram dwa okna dialogowe za pomocą procedury wg schematu:
PostMessage(hMain, WM_COMMAND, VK_SELECTED, 0);
while FindWindow(nil, DlgTitle1)=0 do;
hDlg1:=FindWindow(nil, DlgTitle1);
hCtr:=GetDlgCtrlID(FindWindowEx(hDlg1, 0, 'BUTTON', 'OK'));
SendDlgItemMessage(hDlg1, hCtr, BM_CLICK, 0, 0);
while FindWindow(nil, DlgTitle2)=0 do;
hDlg2:=FindWindow(nil, DlgTitle2);
hCtr:=GetDlgCtrlID(FindWindowEx(hDlg2, 0, 'BUTTON', 'OK'));
SendDlgItemMessage(hDlg2, hCtr, BM_CLICK, 0, 0);
i w tym miejscu mój program zatrzymuje sie. Musze zamknąć okno2 by program dalej mógł działać. Okno2 ma prawdopodonie ustawienia stylu StayOnTop. Nie wiem jak to zmienic. Czy koniecznie trrzeba otworzyć nowy proces dla tego okna? Jezeli tak prosze o troche teorii.
Druga sprawa to w jaki inny sposób właściwy dla Windowsa należy obsłużyć wywoływane okna dialogowe. Ja zatosowałem pętle while ale nie uważam żeby to było właściwe rozwiązanie. W pewnych przypadkach może program zawiesić się w tych pętlach.
Użytkownik stan24 edytował ten post 21 kwiecień 2007, 12:31
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam do rozwiazania problem (nawet dwa :P ) dotyczący obsługi okien dialogowyczh (modalnych):
Otwieram dwa okna dialogowe za pomocą procedury wg schematu:
PostMessage(hMain, WM_COMMAND, VK_SELECTED, 0);
while FindWindow(nil, DlgTitle1)=0 do;
hDlg1:=FindWindow(nil, DlgTitle1);
hCtr:=GetDlgCtrlID(FindWindowEx(hDlg1, 0, 'BUTTON', 'OK'));
SendDlgItemMessage(hDlg1, hCtr, BM_CLICK, 0, 0);
while FindWindow(nil, DlgTitle2)=0 do;
hDlg2:=FindWindow(nil, DlgTitle2);
hCtr:=GetDlgCtrlID(FindWindowEx(hDlg2, 0, 'BUTTON', 'OK'));
SendDlgItemMessage(hDlg2, hCtr, BM_CLICK, 0, 0);
i w tym miejscu mój program zatrzymuje sie. Musze zamknąć okno2 by program dalej mógł działać. Okno2 ma prawdopodonie ustawienia stylu StayOnTop. Nie wiem jak to zmienic. Czy koniecznie trrzeba otworzyć nowy proces dla tego okna? Jezeli tak prosze o troche teorii.
Druga sprawa to w jaki inny sposób właściwy dla Windowsa należy obsłużyć wywoływane okna dialogowe. Ja zatosowałem pętle while ale nie uważam żeby to było właściwe rozwiązanie. W pewnych przypadkach może program zawiesić się w tych pętlach.
Użytkownik stan24 edytował ten post 21 kwiecień 2007, 12:31