首页 MFC自定义消息

MFC自定义消息

举报
开通vip

MFC自定义消息MFC自定义消息 第一步 准备 创建自定义消息(Dlg.h) 绑定消息对应的响应事件(Dlg.cpp) 第二步 编写响应函数 在类视图(Class View)中添加响应消息 响应函数中可以不带参数,可以只带一个参数,最多带两个参数 获取参数 若传递过来的参数(wParam)为DWORD或UINT类型,可直接使用. 若传递过来的参数(lParam)为DWORD或LONG类型,可直接使用. 否则: 例1:获取double类型 double * dNum = (double *)wParam; ...

MFC自定义消息
MFC自定义消息 第一步 准备 创建自定义消息(Dlg.h) 绑定消息对应的响应事件(Dlg.cpp) 第二步 编写响应函数 在类视图(Class View)中添加响应消息 响应函数中可以不带参数,可以只带一个参数,最多带两个参数 获取参数 若传递过来的参数(wParam)为DWORD或UINT类型,可直接使用. 若传递过来的参数(lParam)为DWORD或LONG类型,可直接使用. 否则: 例1:获取double类型 double * dNum = (double *)wParam; //double * dNum = (double *)wLaram; 例2:获取CString类型 CString *str=(CString*)wParam; //CString *str=(CString*)wLaram; 例3:获取结构体类型 Struct * s=(Struct*)wParam; //Struct * s=(Struct*)wLaram; 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf :我们先获取传递过来的指针地址(WPARAM、LPARAM格式),然后转换为原始数据格式的指针(double *;CString *等)便可以进行引用了。 第三步 调用SendMessage 类函数调用 不带参数可直接使用SendMessage(WM_SEND, 0, 0); 非类函数(C全局函数)调用 不带参数可直接使用SendMessage(hwnd,WM_SEND, 0, 0); 其中,hwnd可以通过类函数传递过来(this->m_hWnd),也可以自动获取 AfxGetApp();//获取主线程指针CWinApp * AfxGetApp()->GetMainWnd();//获取主窗口对象指针CWnd * AfxGetMainWnd();//获取主窗口对象指针CWnd * HWND hwnd = AfxGetMainWnd()->m_hWnd; //获取主窗口句柄 HWND hwnd = AfxGetMainWnd()->GetSaveHwnd();//获取主窗口句柄 传递参数 传递参数为DWORD或UINT类型,可直接使用wParam 传递参数为DWORD或LONG类型,可直接使用lParam. 否则: 例1:传递double类型 double * dNum = new dNum;//栈堆内存问题 *dNum = 1.0; SendMessage(WM_SEND, (WPARAM)dNum, 0); //SendMessage(WM_SEND, 0, (LPARAM)dNum); //SendMessage(hwnd,WM_SEND, (WPARAM)dNum, 0); //SendMessage(hwnd,WM_SEND, 0, (LPARAM)dNum); :传递CString类型 例2 CString * str = new CString(“hello”); SendMessage(WM_SEND, (WPARAM) str, 0); //SendMessage(WM_SEND, 0, (LPARAM) str); //SendMessage(hwnd,WM_SEND, (WPARAM) str, 0); //SendMessage(hwnd,WM_SEND, 0, (LPARAM) str); 例3:传递结构体 Struct * s = (Struct *)malloc(sizeof(Struct)); s->a=1; s->b=2; SendMessage(WM_SEND, (WPARAM)s, 0); //SendMessage(WM_SEND, 0, (LPARAM)s); //SendMessage(hwnd,WM_SEND, (WPARAM)s, 0); //SendMessage(hwnd,WM_SEND, 0, (LPARAM)s); 总结:我们先建立一个堆数据(new),保证数据在传递后不会释放其自身内存,然后用SendMessage传递其指针地址(并转换为WPARAM、LPARAM格式)。 不同对话框间通信 在接受对话框Dlg类中执行第一、二步 在发送对话框Dlg类中执行第三步(注意hwnd为接受对话框的句柄)
本文档为【MFC自定义消息】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594905
暂无简介~
格式:doc
大小:73KB
软件:Word
页数:4
分类:
上传时间:2017-12-13
浏览量:10