转载:https://www.cnblogs.com/Alberl/p/3404240.html

1、定义消息ID

#define WM_USER_POS_CHANGED     WM_USER + 2 

2、响应自定义消息:

  在HandleMessage函数的switch分支里加上如下代码即可:

 case WM_USER_POS_CHANGED:
//处理代码;
break;

3、发送自定义消息:

  在需要发送消息的地方调用::PostMessage(*this, WM_USER_POS_CHANGED, wParam, lParam);即可,和windows一样(当然,SendMessage也OK,看情况使用)

踩过的坑:

1.PostMessage函数第一个参数为窗口句柄,传递窗口句柄时,应将传递部分写在Create函数和ShowModal函数之间。

例如:点击主窗口设置按钮打开设置窗口,要创建新线程:

CreateThread(NULL,,SettingThread,m_hWnd,,NULL);

然后线程函数代码如下:

DWORD WINAPI SettingThread(LPVOID lpParameter){
HWND hWnd = (HWND)lpParameter;
CsettingWnd* pWnd = new CSettingWnd;
pWnd->Create(NULL, _T("CSettingWnd"),UI_WNDSTYLE_DIALOG,WS_EX_WINDOWEDGE);
pWnd->SetMainWnd(hWnd);
pWnd->CenterWindow();
pWnd->ShowModal();
delete pWnd;
return ;
}

2.确保传递消息的函数被调用了。

最新文章

  1. CI模板加载css和js
  2. using 的三种用法
  3. dpkg:警告:无法找到软件包 XXXX 问题解决
  4. Bootstrap页面布局5 - 响应式布局(格式)
  5. 把excel中的数据导入到数据库
  6. PHP连接sqlserver的两种方法,向sqlserver2000中写入数据,中文乱码
  7. 注册表-各种功能-隐藏IE、隐藏硬盘、禁用硬件
  8. LDAP缓存命令
  9. kaggle之手写体识别
  10. 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库
  11. Error:Cannot build Artifact :war exploded because it is included into a circular depency
  12. Cocos2D:塔防游戏制作之旅(十八)
  13. nw.js---创建一个点击菜单
  14. MySQL 8.0 Docker使用注解
  15. 【CF553E】Kyoya and Train 最短路+cdq分治+FFT
  16. eclipse---->自己常用的快捷键
  17. Inno Setup 脚本
  18. JQ和JS获取span标签的内容(有的情况下JQ达不到预期的目的就用JS)
  19. php生成二维码的几种方式
  20. Java编程之Map中分拣思想。

热门文章

  1. java8下 枚举 通用方法
  2. linux内存查看、清理、释放命令
  3. js 根据data-i 降序排列
  4. VisualTreeHelper 向下提取 元素
  5. Springboot学习:Web开发介绍
  6. idea 启动java项目报 java: 程序包org.apache.jasper.tagplugins.jstl.core不存在
  7. 吴裕雄--天生自然TensorFlow2教程:手写数字问题实战
  8. 吴裕雄 python 神经网络——TensorFlow 队列操作
  9. 控制面保护(CPPr)
  10. 关于雷达(Radar)信道