MFC用PostMessage传递消息

摘要:
1.自定义消息ID#defineWM_MY_message(WM_USER+100)WM_USER是为Windows系统中的非系统消息保留的ID。此处必须至少使用100,因为其他控件的消息将占据一部分。2.定义消息处理功能。消息处理函数是消息目标类的成员函数。首先,它应该在H文件中。这里我们以主窗口类为例。主窗口类名为CMainDialog。首先,在CMainDialog中声明消息处理函数。h、 赞成,赞成
1.自定义消息ID。

#define WM_MY_MESSAGE (WM_USER+100)         WM_USER为windows系统为非系统消息保留的ID,这里至少要用100,因为其它控件的消息会占用一部分。

2. 定义消息处理函数。

消息处理函数为消息目标类的成员函数。首先应该在.h 文件中声明。这里以主窗口类为例,主窗口类名 CMainDialog,则首先在CMainDialog.h声明消息处理函数。



protected:

afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);




3.在CMainDialog.cpp中实现消息处理函数



LPESULT CMainDialog::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
// TODO: 处理用户自定义消息
...
return 0;
}

4.在CMainDialog.cpp中映射消息ID和消息处理函数



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()

在创建线程的时候将主窗口句柄作为参数传入线程,就可以用 PostMessage传递消息了。










来自为知笔记(Wiz)


免责声明:文章转载自《MFC用PostMessage传递消息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Delphi 2009 之 TEdit 加强的功能什么是高并发?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Centrifugo  语言无关的实时消息服务

Centrifugo 语言无关的实时消息服务,基于golang编写,提供了websocket 以及sockjs 的兼容处理,使用上很简单 同时也支持基于redis的扩展,以下是一个简单的运行测试 环境准备 docker-compose 文件   version: "3" services: centrifugal: image: ce...

selenium之处理alert弹出对话框

在完成某些操作时会弹出对话框来提示,主要分为"警告消息框","确认消息框","提示消息对话"三种类型的对话框。    1.警告消息框(alert)  警告消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说用户必须先关闭该消息框然后才能继续进行操作。   2.确认消息框(confirm)   确认消息框向用户提示一个"是与否"...

使用RichEdit程序无法启动

在MFC或者WTL工程里,如果使用了RichEdit控件,会发现程序无法启动,编译器却没给出任何警告或错误。 在网上找了下资料,原来是没有加载支持RichEdit的动态库。 在MFC下面添加: AfxInitRichEdit(); 在WTL下面添加: HMODULE hRichDll = LoadLibrary(_T("riched20.dll"));...

Windows API 教程(七) hook 钩子监听

茵蒂克丝 如何创建一个窗口 手动创建窗口的流程 实际代码 安装钩子 (Install hook) 钩子简介 SetWindowsHookEx 函数 设置监听【键盘】消息 设置监听【鼠标】消息 如何创建一个窗口 另外一个再录的 Windows SDK教程 里面有讲到快捷创建窗口的方式,不过这样的话要分好几个文件,感觉有点混所以这里就用原始的...

WPF 中实现 Winfrom 中 Application.DoEvents() 方法

熟悉 Winfrom 中 Application.DoEvents() 方法的朋友一定用过此方法,此方法可以立即处理当前在消息队列中的所有 Windows 消息。 如在一个按钮单击事件中,需要每一秒改变label的Text属性,如下代码:      privatevoid button1_Click(object sender, EventArgs...

[转]小程序实现原理解析

本文转自:https://www.cnblogs.com/mthoutai/p/7365085.html 概述 作为一名前端开发,假设你还停留在应用开发层面,那你就OUT了,快来跟我一起探讨下小程序框架本身底层实现的一些技术细节吧,让我们从小程序的执行机制来深度了解小程序。 小程序是基于WEB规范,採用HTML,CSS和JS等搭建的一套框架,微信官方给它们...