从一个控制发送父窗口的消息 6,ON_CONTROL_REFLECT:映射一个父窗口反射回控制的通知消息 7,ON_CONTROL_RANGE:将一个控制ID的范围映射到一个消息处理函数 8,ON_MESSAGE:将一个用户自定义消息映射到一消息处理函数 9,ON_NOTIFY:映射一个控制消息到一个函数 10,ON_NOTIFY_RANGE:映射一个控制ID范围内的控制消息到...
ON_NOTIFY对应的ON_NOTIFY_EX ON_CONTROL对应的ON_CONTROL_EX ON_CONTROL_REFLECT对应的ON_CONTROL_REFLECT_EX 等等。 范围消息映射宏也有对应的扩展映射宏,例如: ON_NOTIFY_RANGE对应的ON_NOTIFY_EX_RANGE ON_COMMAND_RANGE对应的ON_COMMAND_EX_RANGE 使用这些宏的目的在于利用扩展宏的第二个功能:实现消息的多次...
例如我们前面提到的WM_CTLCOLOR 经过处理后变成了ON_WM_CTLCOLOR_REFLECT;WM_MEASUREITEM则变成了 ON_WM_MEASUREITEM_REFLECT。 凡事总会有例外,这里也是这样,这里面有3个例外: (1) WM_COMMAND 转换成 ON_CONTROL_REFLECT; (2) WM_NOTIFY 转换成 ON_NOTIFY_REFLECT; (3) ON_Update_COMMAND_UI 转换成 ON_Upd...
消息反射通过 CWnd:: OnChildNotify使用特殊 ON_XXX_REFLECT 消息映射项,例如 ON_CTLCOLOR_REFLECT 和 ON_CONTROL_REFLECT。 技术说明 62 更详细地说明了消息反射。 06. 在状态栏中显示命令信息 当你运行应用程序向导来创建应用程序的主干时,可以支持工具栏和状态栏。 应用程序向导中只有一个选项支持两者。 如果存在...
例如,可以重写OnDropdown方法,在下拉框展开时执行自定义操作。 class CMyComboBox : public CComboBox { public: void OnDropdown() { // 执行自定义操作 } protected: afx_msg void OnDropdown(BOOL bIsDropdown); DECLARE_MESSAGE_MAP() }; BEGIN_MESSAGE_MAP(CMyComboBox, CComboBox) ON_CONTROL_REFLECT(...
ON_WM_CTLCOLOR_REFLECT() END_MESSAGE_MAP() HBRUSH CColorEdit::CtlColor(CDC* pDC, UINT nCtlColor) { // TODO: Change any attributes of the DC here pDC->SetTextColor(m_ForeColor); pDC->SetBkColor(m_BackColor); m_BkBrush.DeleteObject(); ...
ON_UPDATE_COMMAND_UI_REFLECT (<memberFxn>) afx_msg void memberFxn(CCmdUI*); 子窗口控件"Notification消息"消息与处理对应规则: Generic ControlNotification Codes 消息映射 对应处理函数原型 ON_CONTROL(<wNotifyCode>, <id>, <memberFxn>) afx_msg void memberFxn(); ON_CONTROL_RANGE(<wNotifyCode>...
ON_CONTROL_REFLECT(BN_DOUBLECLICKED, &CBtn::OnBnDoubleclicked) ON_WM_KILLFOCUS() END_MESSAGE_MAP() // CBtn 消息处理程序 void CBtn::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CDC ButtonDC; CRect rc; ButtonDC.Attach(lpDrawItemStruct->hDC); //得到用于绘制按钮的DC rc=lpDrawItemS...
㈡、CN_UPDATE_COMMAND_UI消息当菜单项、工具栏按钮等[命令用户接口对象]要更新其状态时所对应的消息,它所包含的类型和对应的宏如下:①、ON_UPDATE_COMMAND_UI(ID,pfn)其中函数的原型如下:afx_msg void pfn(CCmdUI* pCmdUI)②、ON_UPDATE_COMMAND_UI_RANGE(nID,nLastID,pfn)该函数可以处理一组[命令用户接口...
(CListCtrlCl, CListCtrl) ON_WM_MEASUREITEM() ON_WM_MEASUREITEM_REFLECT() ON_WM_LBUTTONDOWN() ON_WM_RBUTTONDOWN() END_MESSAGE_MAP() // CListCtrlCl 消息处理程序 void CListCtrlCl::PreSubclassWindow() { // TODO: 在此添加专用代码和/或调用基类 ModifyStyle(0,LVS_OWNERDRAWFIXED); CListCtrl::...