首页 > 技术文章 > 自定义消息的操作方法ON_MESSAGE(..)

lixuejian 2020-07-02 09:36 原文

ON_MESSAGE响应的是自定义消息,有关自定义消息的处理请看如下步骤:

定义消息:

在CCDlg类的头文件中加入如下代码:

#define WM_CUSTOMIZE WM_USER+1 

头文件中加入Customize的声明:

afx_msg LRESULT Customize(WPARAM wParam, LPARAM lParam);

cpp文件中加入消息的注册

ON_MESSAGE(WM_CUSTOMIZE, Customize)

加入消息响应函数实现

在CCDlg类的实现文件中加入消息响应函数的实现部分,代码如下:

void CCDlg::Customize(WPARAM wParam, LPARAM lParam) 
{ 
CString strTittle; 
strTittle.Format("自定义消息参数:x=%d,y=%d",wParam,lParam); 
SetWindowText(strTittle); 
}

显式地发送消息:

在主框架的“帮助”主菜单中加入“自定义消息”子菜单,其ID设为ID_CUSTOMIZE,通过类向导响应该命令,函数名默认。其函数体如下:

void CMainFrame::OnCustomize() 
{

POINT pos; 
//将消息参数定义为屏幕坐标值 
GetCursorPos(&pos); 
pdlg->SendMessage(WM_CUSTOMIZE,Customize,(UINT)pos.x,pos.y); 
}

相关参考:https://www.cnblogs.com/zhangwuji/p/5260380.html

推荐阅读