oui mais si la dialog appelle une fonction de la dll, la dll doit bien connaître la dialog dans laquelle s'execute sa fonction non ?
oui mais si la dialog appelle une fonction de la dll, la dll doit bien connaître la dialog dans laquelle s'execute sa fonction non ?
je crois que je vais péter un cable![]()
![]()
on reprend...
si je fais :
dans ma fonction "modifier" appelée par le clic sur le menu contextuel, le tout géré dans ma Dll :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CWnd *pWnd=this->GetActiveWindow(); pWnd->GetDlgItem(1055)->PostMessage(WM_KEYDOWN); pWnd->GetDlgItem(1055)->PostMessage(WM_KEYUP);
il dit que pWnd c'est {MaDialog hWnd=???}. MaDialog étant définie dans l'exe et lancée par l'exe. Donc, il sait bien où il se trouve mais il n'a pas la valeur du hWnd voulu.
bon je ne sais pas comment tu fais mais moi j'ai fais le test suivant :
un prj boite de dialogue Multi-thread
un dll Multi-Tread
dans la dll une fonction:
dans la boite de dialogue sur l'appel d'un bouton :
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 // header #ifdef __cplusplus extern "C" { #endif // Fonctions initiales. __declspec(dllexport) void FctAppel(CWnd *pWnd); #ifdef __cplusplus } #endif // code void FctAppel(CWnd *pWnd) { TRACE1("\nHWnd :%X",pWnd->m_hWnd); TRACE1("\nHWndMFC :%X",AfxGetMainWnd()->m_hWnd); }
pour les 2 traces on obtient bien le bon handle de fenetre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void CTestDlgDlg::OnButton1() { // TODO: Add your control notification handler code here FctAppel(this); }
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Partager