duilib加消息
一.加消息
1. public INotifyUI,
2. void Notify(TNotifyUI& msg);
3. Notify实现
4. m_pManager->AddNotifier(this);
二.刷新
void CControlUI::NeedUpdate()
{
if( !IsVisible() ) return;
m_bUpdateNeeded = true;
Invalidate();
if( m_pManager != NULL ) m_pManager->NeedUpdate();
}
三.另一种加消息
1. DECLARE_MESSAGE_MAP()也就是#define DECLARE_MESSAGE_MAP() virtual bool InitMessageMap(TNotifyUI *pMsg = NULL);
2.BEGIN_MESSAGE_MAP(CTableWebPageUI)
ON_COMMAND(m_pBtnRefresh, OnBtnRefresh)
END_MESSAGE_MAP()
3. InitMessageMap();
四.
1.显示隐藏就用bool值作为参数就好。
2.CContainerUI可以 pControl =(CContainerUI*)Builder.Create(_T("XX.xml"),Add(pControl);
3.一个btn对应一个网页
4.你可以用AddPage或Add
5.网页浏览的xml不应该和别的xml搀和。如:layWebPageWithUrlBar、layLoading、layErrorPage
6.获取控件rect RECT& CControlUI::GetPos()
7.解析xml可生成CControlUI*也可强转成CContainerUI *
8.pm通常CControlUI* pControl = FindControl(pt);而控件通常CLabelUI* pLabelSpeedNum = (CLabelUI*)pAcceleratorCon->FindSubControlEx(_T("btnSpeedUpNum"));
9.有句柄的窗口通常在xml布局窗口的上面,所以可以通过xml布局获取rc,然后设置句柄窗口位置。
10.报没有可用的构造函数竟然是没包含相应的头文件。
11.SetPos和SetVisible都要设置句柄窗口的位置,防止在隐藏位置发生变化,显示时位置不对。
12.vc助手下面一个框选择类,再选择方法,定位代码非常方便。
13.可以把常用的搜索位置如:skin放到搜索框中。
独立进程
1.CDll管理dll。加载,释放。
duilib加消息的更多相关文章
- duilib进阶教程 -- 扩展duilib的消息 (11)
duilib并没有提供双击和右键消息,所以需要我们自行扩展,这里以添加双击消息为例, 在UIDefine.h里,我们只看到了DUI_MSGTYPE_CLICK消息,却没有看到双击消息,因此需要在这里添 ...
- 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)
界面的显示方面就都讲完啦,下面来介绍下控件的响应. 前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...
- Duilib学习笔记《05》— 消息响应处理
在Duilib学习笔记<04>中已经知道了如何将窗体显示出来,而如何处理窗体上的事件.消息呢? 一. 系统消息 窗体显示的时候我们就已经说了,窗体是继承CWindowWnd类的,对于窗体的 ...
- duilib教程之duilib入门简明教程17.事件处理和消息响应
界面的显示方面就都讲完啦,下面来介绍下控件的响应. 前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_ME ...
- Duilib源码分析(六)整体流程
在<Duilib源码分析(一)整体框架>.<Duilib源码分析(二)控件构造器—CDialogBuilder>以及<Duilib源码分析(三)XML解析器—CMarku ...
- duilib进阶教程 -- 总结 (17)
整个教程的代码下载:http://download.csdn.net/detail/qq316293804/6502207 (由于duilib进阶教程主要介绍界面,所以这个教程只给出界面相关的代码,完 ...
- 使用DUILIB建立项目
使用DUILIB加载XML界面 这篇主要目的就是教给大家怎样在自己的工程中加载XML界面,这是最基本的应用,对于界面控件响应啥的,我就不讲了,在大家懂了这个之后,我会给大家一个其它人写的博客,再看他的 ...
- 2013 duilib入门简明教程 -- 响应按钮事件(4)
上一个Hello World的教程里有一句代码是这样的:CControlUI *pWnd = new CButtonUI; 也就是说,其实那整块绿色背景区域都是按钮的区域.(这里简要介 ...
- 2013 duilib入门简明教程 -- 自绘标题栏(5)
如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦. duilib其实并没有区 ...
随机推荐
- RedHat 7.3+ORACLE 12c RAC 使用udev绑定磁盘
在RedHat 7中,很多命令发生了改变,其中使用udev对磁盘绑定的命令也发生了变更,不再使用start_udev,而是改为了udevadm,下面具体介绍如何使用udev对磁盘进行绑定,这里对6和7 ...
- 阿里Android开发手册正式版一览
新年伊始,春意盎然之际,阿里巴巴在2月28日再度为工程师们送上了一份重磅开春好礼:<阿里巴巴Android开发手册>. 该手册长达66页,是阿里巴巴集团各大 Android 开发团队的集体 ...
- seq2seq和Transformer
简单而言,seq2seq由两个RNN组成,一个是编码器(encoder),一个是解码器(decoder).以MT为例,将源语言"我爱中国"译为"I love China& ...
- qt 维护x86和arm两套编译环境
1.中间库: 中间库都放在middlewares目录,include头文件相同,所以不需要特殊处理,只要特殊处理lib安装目录, 示例pro文件如下: TEMPLATE = lib TARGET = ...
- return Json对象时序列化错误
当要序列化的表与另一个表是一对多的关系是,表1序列化时会找到另一个表2关联的字段,会将另一个表2进行序列化,然后表2中也有一个字段与表1关联,这样序列化就会产生循环序列化. 在网上进行搜索,其中大多数 ...
- 如何在 cmd 命令行中查看、修改、删除与添加环境变量
Windows 和 linux 区别 一.查看所有环境变量的名称和值:Linux下:exportWindows下:set二.根据名称查该环境变量的值:Linux下:echo $环境变量名比如:echo ...
- linux下安装Nginx1.16.0
因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum ...
- select下拉箭头样式重置
select{ appearance:none; -moz-appearance:none; -webkit-appearance:none; background: url("../ima ...
- 在 Angular 2 Component 中使用第三方 JS 库
本文所有内容以 Angular 2 Quick Start 项目为基础,使用 TypeScript 语言. 如上图,最近遇到一个需求,需要在一个刚启动的 Angular 2 项目中使用 snap.sv ...
- 【Idea】JUnit单元测试%MODULE_WORKING_DIR%' does not exist
Idea执行单元测试时报错:上午9:35 Error running 'MobileMessageImplTest.java': Cannot start process, the working d ...