bonjour!
Depuis un exécutable windows standard je charge une dll qui utilise les MFC en interne. Etant donné que j'ai un probleme avec les fenêtres modales, je me disais que ça venait peut être du fait que je ne fait pas encore le lien entre mon application et le OnIdle() du CMyApp de la DLL..
Pour éclaircir voilà le bout de code qui s'occupe des messages dans le .exe, la fonction DllMsgPump est exportée de la DLL, et y fait appel à theApp.PreTranslateMessage(pMsg) :
et j'aimerai savoir s'il faut ajouter le traitement équivalent à CWinApp::OnIdle(), dans cette pompe à message ou meme dans le WndProc de l'exe pour faire "respirer" l'appli
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Main message loop: BOOL bRet; while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0) { if (bRet == -1) { // handle the error and possibly exit } else { if( DllMsgPump!=NULL ){ DllMsgPump( &msg ) ; }else MessageBoxA(NULL, "gnagnagna", "Warning", MB_ICONWARNING ) ; TranslateMessage(&msg); DispatchMessage(&msg); } }
Partager