Je crée l'application MFC dans laquelle CDialog avec contrôle enfant est dérivé de CStatic. Je souhaite recevoir des événements de souris pour le contrôle CStatic, donc j'ai réglé "Notify"
sur true. Maintenant, je suis en mesure de recevoir des événements de message par carte de message directement à MyStatic
:Consommez des événements dans CStatic de MFC et transmettez-les au parent
class CMyStatic : public CStatic
{
afx_msg void OnLButtonDown(UINT nFlags, CPoint point); // Gets invoked
DECLARE_MESSAGE_MAP()
}
Le problème est que désormais le parent CDialog ne reçoit pas les événements de la souris lorsque la souris est plus MyStatic
enfant. Je peux les envoyer à partir de MyStatic
manuellement, mais est-il possible de les laisser passer automatiquement? Et toujours être en mesure de les recevoir également sur MyStatic
en utilisant des cartes de message?
Roel, merci pour l'explication. Cependant, sauf si vous définissez SS_NOTIFY, je n'ai pas pu recevoir de messages à l'aide de la carte de messages. Peut-être que c'est un comportement MFC bizarre? –
Essayez d'attraper WM_MOUSEMOVE dans votre CStatic et de faire SetFocus() là-bas. – Roel