如何自定义消息
在一个单文挡工程中,弹出一个模态对话框,请问,如何在该对话框类中定义一个消息,将该消息发送到VIEW类中以关闭定时器
作者: golfwk597 发布时间: 2011-06-16
应该在view里自定义消息,对话框获取view的指针或句柄,发送自定义消息
作者: ouyh12345 发布时间: 2011-06-16
WM_USER开始都可以用
作者: kyotrue 发布时间: 2011-06-16
我在Dlg中需要sendmessage,比如我自定义的消息为WM_KILLTIMER.在Dlg中
当我需要关闭定时器时
sendmessage(hWnd,WM_KILLTIMER,0,0)
我在VIEW类中中定义消息响应函数为 asf_msg void OnKillTimer()
关联 ON_MESSAGE(WM_KILLTIMER OnKilltimer)
这样的话,为什么错误为C2660 sendmessage变量的参数错误
还有我是在主界面中定义消息的,那么在Dlg的sendmessage能用到WM_KILLTIMER吗?求解释!谢谢
当我需要关闭定时器时
sendmessage(hWnd,WM_KILLTIMER,0,0)
我在VIEW类中中定义消息响应函数为 asf_msg void OnKillTimer()
关联 ON_MESSAGE(WM_KILLTIMER OnKilltimer)
这样的话,为什么错误为C2660 sendmessage变量的参数错误
还有我是在主界面中定义消息的,那么在Dlg的sendmessage能用到WM_KILLTIMER吗?求解释!谢谢
作者: golfwk597 发布时间: 2011-06-16
1.在stdafx.h中定义一个消息,比如:
#define WM_STOP_TIMER WM_USER + 100
2.在你的 view类的头文件中添加上相应函数的声明,比如:
afx_msg LRESULT OnStopTimer(WPARAM wParam,LPARAM lParam);
3.在你的view类的实现文件中(cpp文件)添加上消息响应宏,比如:
ON_MESSAGE(WM_STOP_TIMER,OnStopTimer)
注意:要在规定的地方定义,看看其他的定义在哪,就定义在那
4.添加响应函数实现,比如:
LRESULT CXXXView::OnStopTimer(WPARAM wParam,LPARAM lParam)
{
//你的处理代码
}
5.在你的对话框中,调用SendMessage/PostMessage向View中发消息,比如:
pViewWnd->SendMessage(WM_STOP_TIMER,0,0);
#define WM_STOP_TIMER WM_USER + 100
2.在你的 view类的头文件中添加上相应函数的声明,比如:
afx_msg LRESULT OnStopTimer(WPARAM wParam,LPARAM lParam);
3.在你的view类的实现文件中(cpp文件)添加上消息响应宏,比如:
ON_MESSAGE(WM_STOP_TIMER,OnStopTimer)
注意:要在规定的地方定义,看看其他的定义在哪,就定义在那
4.添加响应函数实现,比如:
LRESULT CXXXView::OnStopTimer(WPARAM wParam,LPARAM lParam)
{
//你的处理代码
}
5.在你的对话框中,调用SendMessage/PostMessage向View中发消息,比如:
pViewWnd->SendMessage(WM_STOP_TIMER,0,0);
作者: shenyi0106 发布时间: 2011-06-16
定义消息 WM_USER+N N>=1
然后 定义处理函数 到时候知道具体的句柄 POSTMESSAGE就行了
然后 定义处理函数 到时候知道具体的句柄 POSTMESSAGE就行了
作者: sunyong731 发布时间: 2011-06-16
恩。sendmessage是需要如4楼说的pViewWnd->SendMessage(WM_STOP_TIMER,0,0);
而不是SendMessage(hWnd,WM_STOP_TIMER,0,0)吗?我是查百度百科的- -
而不是SendMessage(hWnd,WM_STOP_TIMER,0,0)吗?我是查百度百科的- -
作者: golfwk597 发布时间: 2011-06-16
一个是API函数,一个是CWnd类封装的函数,一样的
作者: shenyi0106 发布时间: 2011-06-16