Remplacer OnClose()
J'ai obtenu cette classe
class CWebBrowser2 : public CWnd
Et je veux remplacer OnClose Ce que j'ai fait jusqu'à présent est dans le fichier d'en-tête, j'ai ajouté vide OnClose(); et dans le .fichier cpp j'ai ajouté
void CWebBrowser2::OnClose ()
{
int i=0;
i++;
}
Mais le OnClose n'est jamais appelée.
Puis j'ai essayé de modifier le fichier d'en-tête de
afx_msg void OnClose();
DECLARE_MESSAGE_MAP()
Et ajoutée à la .fichier cpp
BEGIN_MESSAGE_MAP(CWebBrowser2, CWnd)
//{{AFX_MSG_MAP(CBrowserDlg)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Mais encore OnClose n'est jamais appelée. J'ai essayé de Changer de OnClose de OnDestroy mais qui n'est pas appelé.
toutes les idées sur ce que je fais de mal?
OriginalL'auteur CruelIO | 2010-06-17
Vous devez vous connecter pour publier un commentaire.
Après l'ajout de la
ON_WM_CLOSE()
il devrait fonctionner. De quelle manière êtes-vous fermer la fenêtre?Dans votre fichier d'en-tête de votre classe, vous avez cette ligne?
DECLARE_MESSAGE_MAP()
OriginalL'auteur Brian R. Bondy
Bien que ma réponse est de trois ans la fin, j'attends d'autres peuvent se retrouver (comme je l'ai fait) en essayant de résoudre ce problème. L'OP a écrit le message de la manipulation correctement, mais lorsque vous créer dynamiquement un contrôle ActiveX (comme c'est habituellement effectué lorsque vous utilisez CWebBrowser2), vous devez sous-classe HWND, qui est associé avec le contrôle. Vous pouvez lire à ce sujet à http://support.microsoft.com/kb/156051.
OriginalL'auteur Steve A