您的位置:首页 > 其它

090928(星期一):MFC消息路由,观察 控件消息的 处理

2009-09-28 20:30 274 查看
借助Frame8 的框架,添加
BEGIN_MESSAGE_MAP(CMyFrameWnd, CFrameWnd)
ON_COMMAND(CMyFrameWndid, 0)
ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch)
END_MESSAGE_MAP()

在消息映射链表结构中添加新消息ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch)

下面是ON_BN_CLICKED相关的宏定义:

#define ON_NOTIFY(wNotifyCode, id, memberFxn)
{
WM_NOTIFY,
(WORD)(int)wNotifyCode,
(WORD)id,
(WORD)id,
AfxSig_vNMHDRpl,
(AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(NMHDR*, LRESULT*))&memberFxn
},

#define ON_BN_CLICKED(id, memberFxn)
ON_CONTROL(BN_CLICKED, id, memberFxn)

#define ON_CONTROL(wNotifyCode, id, memberFxn)
{
WM_COMMAND,
(WORD)wNotifyCode,
(WORD)id,
(WORD)id,
AfxSig_vv,
(AFX_PMSG)&memberFxn
},

添加一个函数定义:
void CMyFrameWnd::OnButtonSearch()
{
cout << "CMyFrameWnd::OnButtonSearch/n";
}

主函数中观察打印:
cout << endl << "pMyFrame received a BN_CLICKED, routing path :" << endl;
AfxWndProc(0, BN_CLICKED, 0, 0, pMyFrame); // 这个必须细化,明天继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: