[MFC]agir sur un control depuis une dll
J'ai besoin qu'une Dll chargée dynamiquement (et liée dynamiquement à la Dll MFC) puis agir sur une checkbox.
Ca j'y arrive, je transmet à ma Dll l'adresse de la checkbox.
Mais j'ai besoin que l'evenement OnMaCheckBoxClicked() soit egalement appellé !!!
Et c'est la où j'ai un probleme.
-----------------------------------------------------------
J'ai d'abord voulu faire un pointeur sur fonction,
Code:
1 2 3
| void (*pFnc) ()
pFnc = OnMaCheckBoxClicked; |
Mais c'est loin d'etre génial le linker me jete en me disant qu'il est impossible de convertir un void (__thiscall CMaClasseDlg::*)(void) en un pFnc :?
Or mon but est que ma Dll n'ai pas à inclure le header de CMaClasseDlg (sinon je devrai recompiler ma Dll a chaque fois que je modifie CMaClasseDlg )
------------------------------------------------
Ma deuxieme tentative, a été de poster un message :
Code:
AfxGetMainWnd()->PostMessage(BN_CLICKED,(WPARAM)1011,(LPARAM)pMaCheckBox->GetSafeHwnd()); //1011 est l'ID de ma checkBox(oui je sais, c'est vraiment deguelasse :) )
Et la visiblement, le message n'arrive jamais a destination :?
-sauriez vous me dire qu'est ce qui cloche dans ces instructions?
-est il possible de faire le pointeur vers l'evenement, sans avoir à spécifier le type CMaClasseDlg dans la Dll?
-Comment faire pour poster le message depuis la Dll vers le controle du thread principale pour que l'evenement soit déclenché?
Merci d'avance pour votre aide.