Duilib Caption解析

DUILib 中的 caption="x1,y1,x2,y2"x1 距离左边界的距离;rcCaption.lefty1 距离上边界的距离; rcCaption.topx2 距离右边界的距离;rcCaption.righty2 距离上边界的距离; rcCaption.bottom

rcClient 为客户区域大小

标题栏范围:"rcClient.left + rcCaption.left(左边界坐标),  rcCaption.top(上边界坐标),  rcClient.right - rcCaption.right(右边界坐标), rcCaption.bottom(下边界坐标)“

1     RECT rcCaption = m_PaintManager.GetCaptionRect();
2     if( pt.x >= rcClient.left + rcCaption.left && pt.x < rcClient.right - rcCaption.right 3         && pt.y >= rcCaption.top && pt.y < rcCaption.bottom ) {
4             CControlUI* pControl = static_cast<CControlUI*>(m_PaintManager.FindControl(pt));
5             if( pControl && _tcsicmp(pControl->GetClass(), _T("ButtonUI")) != 0 &&
6                 _tcsicmp(pControl->GetClass(), _T("OptionUI")) != 0 &&
7                 _tcsicmp(pControl->GetClass(), _T("TextUI")) != 0 )
8                 return HTCAPTION;
9     }

Duilib Caption解析

时间: 2024-10-18 04:40:29

Duilib Caption解析的相关文章

Digester解析xml文件

刚刚学了一下Digester如何解析xml文件,所以记录下来,方便以后查看. 一般用来读取xml文件的工具包有DOM.SAX和JDOM等,但用过的人都知道,它们属于比较底层的API,写起来代码量很大,而且如果修改了xml文件的格式,代码也要做大幅度的改动.而使用Apache Jakarta的Digester,解析XML文件非常方便且不需要过多的关心底层的具体解析过程.Digester本来仅仅是Jakarta Struts中的一个工具,用于处理struts-config.xml配置文件.显然,将X

Delphi中Json格式读写

Json是一种轻量级数据传输格式,广泛应用互联网和各应用中,json主要采用键值对来表示数据项,多个数据项之间用逗号分隔,也可以用于数组.下面注重介绍一下在delphi中使用json,在delphi中使用json常用superobject单元文件,该文件可以在网上下载,最初接触json是在2011年,好久没用这不刚好有项目要用到又折腾了好久,下面做了一个简单的Demo,方便以后忘了能随时查看,具体的json使用可以参看万一老师的博客,记录的很详细,下面的demo主要是将数据库记录转换为json格

delphi json uLkJSON

delphi 7 json 做个笔记,留着以后用 --源码 unit Umain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; mmo1: TMemo; mmo2: TMemo; Button3: T

DuiLib 源码分析之解析xml类CMarkup &amp; CMarkupNode 头文件

xml使用的还是比较多的,duilib界面也是通过xml配置实现的 duilib提供了CMarkkup和CMarkupNode类解析xml,使用起来也是比较方便的,比较好奇它是怎么实现的,如果自己来写一个 解析又需要怎样架构,架构之路还很遥远... 先来看看头文件吧,CMarkup主要是用于分割xml,判断xml格式是否正确:CMarkupNode主要是将CMarkup分割的xml,获取节点中的属性, 最多支持64个属性 1 enum 2 { 3 XMLFILE_ENCODING_UTF8 =

DuiLib 源码分析之解析xml类CMarkup &amp; CMarkupNode cpp文件

时隔5个月才有时间接着写未完成的实现部分,也是惭愧呀 选几个关机的函数来解析,一些get方法就忽略掉吧 CMarkupNode 与 CMarkUp 互为友元类,CMarkUp 实现解析,CMarkupNode 用于存储读取节点数据 1 void CMarkupNode::_MapAttributes() 2 { 3 m_nAttributes = 0; 4 LPCTSTR pstr = m_pOwner->m_pstrXML + m_pOwner->m_pElements[m_iPos].iS

Duilib源码分析(三)XML解析器—CMarkup

上一节介绍了控件构造器CDialogBuilder,接下来将分析其XML解析器CMarkup: CMarkup:xml解析器,目前内置支持三种编码格式:UTF8.UNICODE.ASNI:CMarkupNode:xml节点类 先介绍CMarkup: XMLELEMENT: xml节点元素类型定义,iStart,节点元素在xml文件中的起始位置:iChild,节点元素子节点:iNext,节点元素的下一个节点(兄弟节点):iParent,节点元素的父节点:iData, 节点元素的数据. CMarku

duilib入门问题集

问:如何把资源放入zip?答: 先SetResourcePath设置资源目录,再SetResourceZip设置压缩资源文件名 问:如何设置窗体的初始化大小?答:设置XML文件的Window标签的size属性. 问:如何设置鼠标可拖动窗体的范围大小?答:设置XML文件的Window标签的caption属性. 问:如何设置窗体可以通过拖动边缘改变大小?答:在窗体创建函数的第三个参数设置为UI_WNDSTYLE_FRAME才可响应拖动改变大小,和双击标题事件. 问:为何鼠标移动到边缘没有改变窗体大小

Duilib学习笔记《02》— 界面布局

1. 界面描述XML文件 Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体.DuiLib的页面布局分为三类:窗体(Window).容器(Contain)和控件(Control).顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点:控件就是一些常用的Button.Edit.Label等窗体上的基本元素. 容器经常使用的有VerticalLayout(垂直布局容器).H

Java并发编程:Concurrent锁机制解析

.title { text-align: center } .todo { font-family: monospace; color: red } .done { color: green } .tag { background-color: #eee; font-family: monospace; padding: 2px; font-size: 80%; font-weight: normal } .timestamp { color: #bebebe } .timestamp-kwd