问题:一个对话框(CMyDlg)上面有很多控件:button、combobox等等,我现在想截获所有这
些控件向按钮发送的消息,于是在CMyDlg中重载了PreTranslateMessage,但是不知道这
些控件发送给对话框的消息MSG怎么识别?

解决方案 »

  1.   

    PreTranslateMessage的参数pMsg中不是带了hwnd的信息吗?
    查询它即可。
      

  2.   

    你看看MSG这个结构中有没有包含发送者的句柄信息,没有的话就得不到,想得到的话,需要自己封装一个新的结构。
      

  3.   

    to denghong: MSG结构中的hwnd是指目标窗口的句柄,即对话框的句柄,在此处无用。难道控件发给容器窗口(对话框)的消息没有规律可言吗?好像此事MSG结构中的成员message是固定的某个值吧?
      

  4.   

    控件会发送WM_NOTIFY到父窗口。