转载: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.确保传递消息的函数被调用了。

Duilib 窗口之间的消息传递的更多相关文章

  1. 【转】窗口之间的主从关系与Z-Order

    原文链接:http://www.cnblogs.com/dhatbj/p/3288152.html 说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平 ...

  2. 父窗口,子窗口之间的JS"通信"方法

    今天需要在iframe内做一个弹窗,但使用弹窗组件的为子窗口,所以弹窗只在子窗口中显示掩膜层和定位,这样不符合需求. 后来晓勇哥指点,了解到一个以前一直没关注到的东西,每个窗口的全局变量,其实都存在对 ...

  3. 窗口之间的主从关系与Z-Order

    说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平台的内容已过时,大部分内容对于从事Win32开发的程序员还是很有参考价值的,也是对自己从事Windo ...

  4. [转载]窗口之间的主从关系与Z-Order

    窗口之间的主从关系与Z-Order 原文地址:http://www.cnblogs.com/dhatbj/p/3288152.html说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小 ...

  5. 【Xamarin挖墙脚系列:多窗口之间的导航】

    原文:[Xamarin挖墙脚系列:多窗口之间的导航] 在Android中:Intent对象,通知松散耦合的Activity等组件 在IOS中:Segue对象连接视图 <button opaque ...

  6. C# Winform窗口之间传值的多种方法浅析(转)

    摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...

  7. PostMessage实现多窗口之间的数据传递

    [本文参考自网络,参考地址:https://blog.csdn.net/lsyyoyo/article/details/38726419] 1.在公共的头文件中添加一个宏定义: #define WM_ ...

  8. 【Win32 API】利用SendMessage实现winform与wpf之间的消息传递

    原文:[Win32 API]利用SendMessage实现winform与wpf之间的消息传递 引言    有一次心血来潮,突然想研究一下进程间的通信,能够实现消息传递的方法有几种,其中win32ap ...

  9. IOS开发使用委托delegate在不同窗口之间传递数据

    IOS开发使用委托delegate在不同窗口之间传递数据是本文要介绍的内容,主要是来讲解如何使用委托delegate在不同窗口之间传递数据,具体内容来看详细内容.在IOS开发里两个UIView窗口之间 ...

随机推荐

  1. LinuxC下argv,argc[]的意义

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  2. 精简版logging

    # coding=utf-8 import logging import time import os import logging.handlers import re def logger(sch ...

  3. Centos6.10-FastDFS-存储器Http配置

    Centos610系列配置 1.准备配置 cd /opt/download/fastdfs-master/confcp http.conf /etc/fdfs/http.confcp mime.typ ...

  4. UITextField的内存泄漏问题

    背景: 项目中使用了Facebook的FBRetainCycleDetector框架检测内存泄漏问题. 登录VC的view中放置了一个UITextField对象. 产品的要求是当进入登录界面的时候,让 ...

  5. 【Hibernate 检索策略】

    HibernateDemo2 public class HibernateDemo2 { //演示批量抓取 @Test public void testSelect3() { SessionFacto ...

  6. VMware升级到15版本虚拟机黑屏的解决方法

    1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点  下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...

  7. Centos610安装Archiva

    安装说明: https://www.cwiki.us/display/ArchivaZH/Linux+Installing+Standalone 1.下载地址 https://archiva.apac ...

  8. combobox实现模糊搜索匹配

    如图,输入关键字,进行匹配检索: 这里使用的是combobox组合框,对于combobox的创建可以使用<input>输入框,也可以使用<select>下拉选 HTML代码: ...

  9. Docker Learning Notes

    Docker简介 是什么 问题:为什么会有docker出现 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的 ...

  10. RADIUS Authentication with WPA2-Enterprise

    概观具有802.1X身份验证的WPA2-Enterprise可用于对域中的用户或计算机进行身份验证.请求方supplicant(无线客户端)使用RADIUS服务器上配置的EAP方法对RADIUS服务器 ...