000
29.07.2004, 02:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
angenommen ich habe sowas
C++: |
DWORD CMyDlg::func(LPVOID lparam){
CMyDlg*dp = ((CMyDlg*)lparam);
while(!dp->endflag){ dp->doSomething(); Sleep(60);//damit der nicht gegen 100% auslastung fährt } ::PostMessage(dp->m_hWnd,WM_QUIT,NULL,NULL);
return 0; }
|
so jetzt kann der benutzer mittels kontrols bestimmte membervariablen beeinflussen... irgenwie muss ichs so hinbekommen das diese beinflussung, also alles was der user tut erst ausgeführt wird wenn dp->doSomething() durchglaufen ist...
kann man z.b. in pretranslate alle mouse und tastaturevents abfangen und diese so lange blockieren bis doSomething einmal durch ist, ist und dann do Something wiederum so lange blockieren bis alle messages abgearbeitet sind... usw... also wie macht mans richtig
ach so und warum hat ::PostMessage(dp->m_hWnd,WM_CLOSE,NULL,NULL); keinen einfluss aber mit WM_QUIT funzt es? so lange ich nur ein fester habe spiellt es ja keine rolle aber wenn dieses fenster ein modaler dialog eines anderen fensters ist killt der mir ja sonst die ganze application aber ich will ja nur das fenster schliessen... -- ...fleißig wie zwei Weißbrote Dieser Post wurde am 29.07.2004 um 02:14 Uhr von Windalf editiert. |