导航
  • 全部
...

怎样触发 mfc ON_MESSAGE

flyfwater 2008-07-02 03:08:08
1: #define WM_MY_MESSAGE WM_USER+_100
2: LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
return 0;
}

3: class CMainFrame:public CMDIFrameWnd
{
...
// 一般消息映射函数
protected:
// {{AFX_MSG(CMainFrame)

afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}

4: BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_WM_TIMER()
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
5? 怎样才能 触发这个MESSAGE消息呢?ON_BN_CLICKED 是直接鼠标点击就行,是知道的。
...全文
给本帖投票
1810 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liumu1209 2011-09-18
  • 打赏
  • 举报
回复
markmark
shixiaoweiwin 2010-08-05
  • 打赏
  • 举报
回复
学习了不少东西、、、、
cmkyec 2009-09-18
  • 打赏
  • 举报
回复
学习了
逃逃VS海 2008-07-04
  • 打赏
  • 举报
回复
up
Wacasl 2008-07-04
  • 打赏
  • 举报
回复
SendMessage或者PostMessage
paerxiushi 2008-07-02
  • 打赏
  • 举报
回复
SetTimer定义一个定时器,在响应WM_TIMER期间,定时处理自定义消息.
或者使用CreateThread方法,响应自定义消息时启动一个线程,让线程函数执行你的程序代码.
_________________________________________________________________
直接让消息来处理一个无限for循环,界面会死掉的.
paerxiushi 2008-07-02
  • 打赏
  • 举报
回复
ON_MESSAGE响应的是自定义消息,有关自定义消息的处理请看如下步骤:
1.定义消息:
在CCDlg类的头文件中加入如下代码:
#define WM_CUSTOMIZE WM_USER+1
头文件中加入Customize的声明:
afx_msg LRESULT Customize(WPARAM wParam, LPARAM lParam);

2.cpp文件中加入消息的注册
ON_MESSAGE(WM_CUSTOMIZE, Customize)

3.加入消息响应函数实现
在CCDlg类的实现文件中加入消息响应函数的实现部分,代码如下:
void CCDlg::Customize(WPARAM wParam, LPARAM lParam)
{
CString strTittle;
strTittle.Format("自定义消息参数:x=%d,y=%d",wParam,lParam);
SetWindowText(strTittle);
}

4.显式地发送消息:
在主框架的“帮助”主菜单中加入“自定义消息”子菜单,其ID设为ID_CUSTOMIZE,通过类向导响应该命令,函数名默认。其函数体如下:
void CMainFrame::OnCustomize()
{

POINT pos;
//将消息参数定义为屏幕坐标值
GetCursorPos(&pos);
pdlg->SendMessage(WM_CUSTOMIZE,(UINT)pos.x,pos.y);
}
kenny1984 2008-07-02
  • 打赏
  • 举报
回复
SendMessage
flyfwater 2008-07-02
  • 打赏
  • 举报
回复
我想让这个消息一直执行该怎么办?
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wtx_sonery 的回复:]
PostMeeeage(WM_MY_MESSAGE ,..,..)
[/Quote]
PostMessage
写错了
  • 打赏
  • 举报
回复
PostMeeeage(WM_MY_MESSAGE ,..,..)
mycool2001 2008-07-02
  • 打赏
  • 举报
回复
要自己发送消息SendMessage(HWND,WM_MY_MESSAGE ,0,0)

15,981

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部