[MFC] débutant : Simuler un clic bouton / pointeur
Bonjour à tous
je souhaite simuler l'appui d'un bouton (IDC_RESETBOUTON) faisant appel à la fonction OnBnClickedResetbouton.
Mon Problème est que ce bouton est situé sur la fenetre principale(CAngelView) et je dois faire l'appel d'une boite de dialogue non modale(CAfficherP) qui reste affichée.
Apres lecture de la faq : Comment simuler un click sur un CButton ?
:arrow: j'ai testé : l'appel direct de la fonction:
Code:
CAngelView::OnBnClickedResetbouton()
il ne connait pas la fonction. logique, on n'est pas dans la meme classe
:arrow: j'ai testé : l'envoie d'un message directement au bouton
Code:
1 2
| GetDlgItem(IDC_RESETBOUTON)->PostMessage(WM_KEYDOWN,' ');
GetDlgItem(IDC_RESETBOUTON)->PostMessage(WM_KEYUP,' '); |
Provoque une assertion failed. "this" pointe sur la dialogue et forcement il ne trouve pas le bouton.
:arrow: Comprenant (j'espère ! ) qu'il fallait expliquer que le bouton était sur la fenetre principale, j'ai essayé de créer un pointeur sur le bouton mais sans succés. je me perds dans les GetDlgItem(), GetActiveFrame(), GetActiveView(), AfxGetApp() ...
:?: 2 de mes nombreux essais infructueux : :?:
Code:
1 2
| CFrameWnd * pFrame=static_cast<CFrameWnd *>(AfxGetMainWnd())->GetActiveFrame();
(pFrame->GetDlgItem(IDC_RESETBOUTON))->PostMessage(WM_KEYDOWN,' '); |
Code:
1 2 3
| CButton * pButton=NULL;
pButton = (CButton*)GetDlgItem(IDC_RESETBOUTON);
pButton->PostMessage(WM_KEYDOWN,' '); |
d'avance :merci: pour votre aide.