社区
进程/线程/DLL
帖子详情
MFC如何实现消息循环?
phthegreat
2008-09-19 06:15:34
如果一个DLL调用SendMessage向调用这个DLL的MFC发送消息,这个MFC该怎样接收并且处理消息呢?这个消息循环该怎么写?可不可以给出一个简单的例子?
...全文
357
12
打赏
收藏
MFC如何实现消息循环?
如果一个DLL调用SendMessage向调用这个DLL的MFC发送消息,这个MFC该怎样接收并且处理消息呢?这个消息循环该怎么写?可不可以给出一个简单的例子?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
phthegreat
2008-09-20
打赏
举报
回复
结贴!谢谢!
yafizyh
2008-09-19
打赏
举报
回复
《深入浅出mfc》里面详细讲述了消息在mfc里面是如何循环的。具体到你的问题,发给cXXXapp吧,然后再在mfc里面循环,那就自己控制了。
sanshao27
2008-09-19
打赏
举报
回复
[Quote=引用 5 楼 cnzdgs 的回复:]
不知道你在说什么。通常说的消息循环是这样的代码:
MSG msg;
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
另外MFC是微软基础类库的意思,SendMessage是给窗口发消息,不是给MFC发消息。
[/Quote]
专家意见,同意
wutaihua
2008-09-19
打赏
举报
回复
[Quote=引用 5 楼 cnzdgs 的回复:]
不知道你在说什么。通常说的消息循环是这样的代码:
MSG msg;
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
另外MFC是微软基础类库的意思,SendMessage是给窗口发消息,不是给MFC发消息。
[/Quote]
这个是深入浅出MFC中讲的windows消息循环的基本构架。。
楼主建议你去卡看《深入浅出MFC》
jameshooo
2008-09-19
打赏
举报
回复
AfxGetApp()->PumpMessage(); 就是启动一个消息循环
yc_8301
2008-09-19
打赏
举报
回复
来晚了。。
支持 oo_v_oo
ON_COMMAND(消息ID,消息函数)
binjuny
2008-09-19
打赏
举报
回复
同意cnzdgs
基本上都是这种处理的
cnzdgs
2008-09-19
打赏
举报
回复
不知道你在说什么。通常说的消息循环是这样的代码:
MSG msg;
BOOL bRet;
while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
另外MFC是微软基础类库的意思,SendMessage是给窗口发消息,不是给MFC发消息。
xuxingok
2008-09-19
打赏
举报
回复
mark
wangweixing2000
2008-09-19
打赏
举报
回复
楼上两种都可以
oo_v_oo
2008-09-19
打赏
举报
回复
在DLL某函数中
#define IDC_NEED_SEND_MESSAGE 300
void function(HWND hwnd,...) {
...
::SendMessage(hwnd,WM_COMMAND,IDC_NEED_SEND_MESSAGE,(LPARAM *)0);
...
}
在主程序中
#define IDC_NEED_SEND_MESSAGE 300
... //消息声明中,可以使用向导生成
ON_COMMAND(IDC_NEED_SEND_MESSAGE,OnNeedSendMessage)
...
CXXXView::OnNeedSendMessage() {
}
wltg2001
2008-09-19
打赏
举报
回复
MFC是利用各种宏来处理消息循环的,如果是自定义消息写作ON_MESSAGE(....)即可,然后加上消息处理函数
MFC
子线程
消息
循环
的
实现
本文介绍如何使用
MFC
创建一个UI线程用于接收来自其他线程的
消息
,解决了多线程环境下
消息
传递的问题,并分享了开发过程中遇到的错误及解决方法。
MFC
定时触发器
实现
循环
给指定线程进行发送
消息
本文介绍了一个具体的Windows应用程序实例,包括窗体的创建、控件的管理及
消息
映射等功能。通过对主窗体的初始化、控件背景颜色的设置等操作,展示了如何使用C++进行Windows应用程序开发。
MFC
中的
消息
循环
本文对比传统SDK程序和
MFC
的
消息
循环
,介绍
MFC
消息
分为标准、命令、通知类三类。阐述
消息
宏组织
消息
映射网,将
消息
与处理函数关联。还说明了
MFC
消息
起点是AfxWndProc,
消息
依类型流动,标准
消息
按继承搜索,命令和通知
消息
实现
拐弯流动。
在
MFC
中使用Qt(六):深入了解Q
Mfc
App
本文深入介绍在
MFC
中使用Qt时Q
Mfc
App
实现
MFC
和Qt事件
循环
共存的原理。通过Windows钩子确保事件同步、重写事件过滤器协调
消息
处理、Qt主
循环
驱动
MFC
消息
泵、协同模态
循环
以及绕过
MFC
原有
消息
循环
等方式,
实现
两者无缝混合运行。
MFC
学习(一):
MFC
的
消息
循环
--讲解到位
本文详细解析了
MFC
中的
消息
循环
机制,包括非对话框和对话框程序的
消息
循环
原理及流程,探讨了
消息
循环
在
MFC
框架中的作用,以及如何通过
消息
循环
实现
窗口更新和
消息
处理。
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章