大星星的专栏

zhupite.com

duilib创建IE浏览器的方式

方式一: <ActiveX name="web" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false&am...

2019-03-15 18:57:14

阅读数 50

评论数 0

Duilib中list控件支持ctrl和shif多行选中的实现

一、 由于diulib不支持list控件的多选修改。下面是修改的原理。 Ctrl+左键多选,按下Ctrl键点击,主要有三种情况: 选中一个 再点击,又选中一个 再点击前一个,前一个选中状态消失 总结分析:ctrl按下的情况,点击,不会使前一个(一部分)选中项失去选中状态,而只是让当前点击的项改...

2019-03-15 18:56:51

阅读数 77

评论数 0

duilb常用xml

参考:Duilib总结与心得 简书 Edit的边框两种设置方法 设置背景图 bkimage="res='search_bg.png' corner='6,6,6,6'" 设置边框颜色 bordersize="1" b...

2019-03-15 18:56:25

阅读数 42

评论数 0

DuiDesigner修改:增加对控件CheckBox属性的保存

这次修改主要是DuiDesigner工程,duilib工程无须任何修改。 stdafx.h中enum UIClass枚举增加:classCheckBox,并引用命名空间:using DuiLib::CCheckBoxUI; stdafx.cpp中gGetUIClass增加: if( _...

2019-03-15 18:55:57

阅读数 54

评论数 0

DuiDesigner修改:增加对控件vscrollbar,hscrollbar属性的显示和保存

1、显示:CUIProperties::ShowContainerProperty 修改为: //hscrollbar pPropContainer->GetSubItem(tagHScrollBar-tagContainer)->SetValue((_...

2019-03-15 18:55:32

阅读数 52

评论数 0

修复duilib使用的tinyxml的一个BUG

以RichListRes为例,用修改后的DuiDesigner重新载入xml皮肤配置文件,稍作修改并撤销然后保存,为的是重新保存xml文件,运行RichListRes工程会崩溃。 然后发现DuiDesigner用的是tinyxml保存的xml,而加载的时候用的是CMarkup,以至于以为是两者操作...

2019-03-15 18:55:07

阅读数 55

评论数 0

duilib对CListUI的改造:支持checkbox

参考:http://blog.csdn.net/tragicguy/article/details/21893065 注意: 此处需要将内嵌控件的ListHeaderItem 添加一个inset属性,控制内嵌的控件不要铺满整个ListHeaderItem ,否则表头拖动不了,如: ListHead...

2019-03-15 18:54:38

阅读数 114

评论数 0

DuiDesigner修复编辑器不保存CComboUI的textpadding属性的bug

实际使用发现CComboUI的textpadding为 5 较好,在CComboUI::CComboUI中添加: m_rcTextPadding.left = 5; DuiDesigner中的CLayoutManager::SaveComboProperty增加: RECT rcTextPadd...

2019-03-15 18:54:09

阅读数 23

评论数 0

duilib-CComboUI执行SelectItem无效果排查

动态跟进CComboUI::SelectItem: bool CComboUI::SelectItem(int iIndex, bool bTakeFocus) { if( m_pWindow != NULL ) m_pWindow->Close(); if(...

2019-03-15 18:53:29

阅读数 60

评论数 0

关于duilib控件richedit的appendmsg

if (m_logOutCtrl == NULL) return; int lines = m_logOutCtrl->GetLineCount(); //由于输出信息太多,所以当超过200行时,删除前100行 if (lines &...

2019-03-14 19:18:20

阅读数 20

评论数 0

DuiDesigner增加:打开皮肤配置文件所在的文件夹

经常使用VisualStudio,习惯使用该功能:打开并选择对应的文档,但是DuiDesigner只是打开文件夹,并不选中对应的文档: void CUIDesignerDoc::OnMdiOpenFullPath() { if(m_strPathName.IsEmpty()) { ...

2019-03-14 19:17:49

阅读数 42

评论数 0

DUILIB的消息处理HandleMessage

duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_MESSAGE_MAP,可以将DUI_MSGTYPE_CLICK消息映射到指定的函数(比如OnClick),这和在Notify判断msg.sType是一样的效果,具体请参见duilib的RichListDemo。 先看看下面几段...

2019-03-14 19:16:58

阅读数 120

评论数 0

关于duilib的字体font

前面介绍了Default属性,属于全局属性,而字体也是全局属性,也是定义到一级子节点。 <Font name="20号字体" size="20" bold="false&quot...

2019-03-14 19:16:02

阅读数 89

评论数 0

duilib设置标题栏区域调整窗口大小

1. 怎么设置标题栏区域? 只需在XML的Window节点加上caption="0,0,0,32"即可,其中32是指从窗口顶部开始,往下32个像素的区域,都设置成标题栏,这样就可以点击标题栏拖动窗口,或者双击最大化了。 <Window si...

2019-03-14 19:15:37

阅读数 46

评论数 0

利用duilib的default属性定制默认样式

下面我们介绍一下duilib的另一种特性,那就是可以定制默认样式,这样做有什么好处呢? 假如我们有10个按钮,按钮样式都一样,如果用之前介绍的方式,则需要在每个Button节点都指定图片背景、宽度、高度等信息,一旦需要改动任何一个属性,则需要在10个按钮里面都改一次,所以为了方便修改,我们可以指定...

2019-03-14 19:15:13

阅读数 71

评论数 0

duilib中判断是否相等和等于号重载的一个BUG

CDuiString的bug (重温了一下 Effective C++,发现这就是条款24所指出的问题,看来读书百遍不如写代码一遍啊) 在Notify处理消息时会有很多if语句,我通常喜欢把常量放在双等号前面,变量放在后面,比如: if( _T("click")...

2019-03-14 19:14:47

阅读数 15

评论数 0

可以考虑将DUILIB皮肤工程添加到VisualStudio的工程向导里去制作代码模板

参考: ref:http://www.codeproject.com/Articles/43653/Visual-C-Express-Custom-Wizard 可重用的代码模板: class CDuiFrameWnd : public WindowImplBase { public: v...

2019-03-14 19:14:17

阅读数 18

评论数 0

duilib在界面中创建自定义控件

CControlUI* CDuiFrameWnd::CreateControl( LPCTSTR pstrClassName ) { if (_tcsicmp(pstrClassName, _T("WndPlayPanel")) == 0) { ...

2019-03-14 19:13:47

阅读数 34

评论数 0

duilib问题解决:滚动条不见了

如图,运行后RichEdit的滚动条显示如下: 滚动条的属性设置是在Window节点下设置的,无论在xml里怎么样设置都不行: <Default name="VScrollBar" value="button1norma...

2019-03-14 19:13:17

阅读数 135

评论数 0

DuiDesigner修改:增加对RichEdit控件属性的保存

当资源中有RichEdit时,无论怎么样修改其属性,最终保存时并不会被写到XML中去,仅仅是一个节点:,属性一概没有保存。 通过动态跟踪xml保存的调用过程,定位到函数:CLayoutManager::SaveProperties: switch(pExtended->nCl...

2019-03-13 20:12:40

阅读数 37

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭