社区
进程/线程/DLL
帖子详情
MFC如何实现消息循环?
phthegreat
2008-09-19 06:15:34
如果一个DLL调用SendMessage向调用这个DLL的MFC发送消息,这个MFC该怎样接收并且处理消息呢?这个消息循环该怎么写?可不可以给出一个简单的例子?
...全文
354
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
中
实现
显示摄像头画面并保存视频 利用了opencv2.3.1
OPENCV的
MFC
界面+CAMSHIFT跟踪(在
MFC
对话框的picture控件中
实现
CAMSHIFT跟踪)
一般opencv的camshift
实现
都是使用opencv自己的窗口,这样对控制很不方便,我在
MFC
对话框的picture控件里
实现
了camshift跟踪
Visual C++
MFC
编程实例教程
MFC
实例教程和
MFC
windows程序设计
cef3嵌入
mfc
的代码
cef3嵌入
mfc
的代码,由于大小限制debug文件夹和源代码分开上传。由于debug文件夹中包含了dll,故要运行.exe需要下载debug文件夹
MFC
用户界面线程的创建示例
MFC
用户界面线程的创建示例,该实例演示了文件复制的自定义,并实时显示操作进度、操作时间等,采用工作线程和用户界面线程想结合,
消息
的传递等。
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章