Duilib 窗口之间的消息传递
转载: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 窗口之间的消息传递的更多相关文章
- 【转】窗口之间的主从关系与Z-Order
原文链接:http://www.cnblogs.com/dhatbj/p/3288152.html 说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平 ...
- 父窗口,子窗口之间的JS"通信"方法
今天需要在iframe内做一个弹窗,但使用弹窗组件的为子窗口,所以弹窗只在子窗口中显示掩膜层和定位,这样不符合需求. 后来晓勇哥指点,了解到一个以前一直没关注到的东西,每个窗口的全局变量,其实都存在对 ...
- 窗口之间的主从关系与Z-Order
说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平台的内容已过时,大部分内容对于从事Win32开发的程序员还是很有参考价值的,也是对自己从事Windo ...
- [转载]窗口之间的主从关系与Z-Order
窗口之间的主从关系与Z-Order 原文地址:http://www.cnblogs.com/dhatbj/p/3288152.html说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小 ...
- 【Xamarin挖墙脚系列:多窗口之间的导航】
原文:[Xamarin挖墙脚系列:多窗口之间的导航] 在Android中:Intent对象,通知松散耦合的Activity等组件 在IOS中:Segue对象连接视图 <button opaque ...
- C# Winform窗口之间传值的多种方法浅析(转)
摘要http://www.jb51.net/article/63837.htm 这篇文章主要介绍了C# Winform窗口之间传值的多种方法浅析,本文起讲解了通过构造器传值.通过属性传递.通过事件携带 ...
- PostMessage实现多窗口之间的数据传递
[本文参考自网络,参考地址:https://blog.csdn.net/lsyyoyo/article/details/38726419] 1.在公共的头文件中添加一个宏定义: #define WM_ ...
- 【Win32 API】利用SendMessage实现winform与wpf之间的消息传递
原文:[Win32 API]利用SendMessage实现winform与wpf之间的消息传递 引言 有一次心血来潮,突然想研究一下进程间的通信,能够实现消息传递的方法有几种,其中win32ap ...
- IOS开发使用委托delegate在不同窗口之间传递数据
IOS开发使用委托delegate在不同窗口之间传递数据是本文要介绍的内容,主要是来讲解如何使用委托delegate在不同窗口之间传递数据,具体内容来看详细内容.在IOS开发里两个UIView窗口之间 ...
随机推荐
- LinuxC下argv,argc[]的意义
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- 精简版logging
# coding=utf-8 import logging import time import os import logging.handlers import re def logger(sch ...
- Centos6.10-FastDFS-存储器Http配置
Centos610系列配置 1.准备配置 cd /opt/download/fastdfs-master/confcp http.conf /etc/fdfs/http.confcp mime.typ ...
- UITextField的内存泄漏问题
背景: 项目中使用了Facebook的FBRetainCycleDetector框架检测内存泄漏问题. 登录VC的view中放置了一个UITextField对象. 产品的要求是当进入登录界面的时候,让 ...
- 【Hibernate 检索策略】
HibernateDemo2 public class HibernateDemo2 { //演示批量抓取 @Test public void testSelect3() { SessionFacto ...
- VMware升级到15版本虚拟机黑屏的解决方法
1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点 下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...
- Centos610安装Archiva
安装说明: https://www.cwiki.us/display/ArchivaZH/Linux+Installing+Standalone 1.下载地址 https://archiva.apac ...
- combobox实现模糊搜索匹配
如图,输入关键字,进行匹配检索: 这里使用的是combobox组合框,对于combobox的创建可以使用<input>输入框,也可以使用<select>下拉选 HTML代码: ...
- Docker Learning Notes
Docker简介 是什么 问题:为什么会有docker出现 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的 ...
- RADIUS Authentication with WPA2-Enterprise
概观具有802.1X身份验证的WPA2-Enterprise可用于对域中的用户或计算机进行身份验证.请求方supplicant(无线客户端)使用RADIUS服务器上配置的EAP方法对RADIUS服务器 ...