Skip to content

Latest commit

 

History

History
1989 lines (1381 loc) · 45.2 KB

Control.md

File metadata and controls

1989 lines (1381 loc) · 45.2 KB

Control(基础控件)

Control 控件为所有可用控件的基类,包含了控件常用的属性,如宽度、高度、边距等属性。一般情况下不作为具体可用控件使用,但常用于一些占位符,请参考示例。

可用属性

Control 是所有控件的基类,包含了所有控件的可用通用属性。

<!-- 一个根据父容器宽度自动拉伸的 Control 控件,一般用于作为占位符使用 -->
<Control width="stretch"/>
属性名称 默认值 参数类型 用途
class STRING 控件样式,用样式里面的属性值来设置本控件的属性,如(btn_default),可以同时指定多个样式,各个样式之间用空格分隔,需要写在第一个属性位置,
name STRING 控件名字,同一窗口内必须唯一,如(testbtn)
halign left STRING 控件的横向位置,如(center),支持left、center、right三种位置
valign top STRING 控件的纵向位置,如(center),支持top、center、bottom三种位置
margin 0,0,0,0 RECT 外边距,如(2,2,2,2)
bkcolor STRING 背景颜色字符串常量,如(white)
bkcolor1 STRING 背景渐变色1,和bkcolor配合使用,如(blue)
normalcolor STRING 普通状态颜色,如(white)
hotcolor STRING 悬浮状态颜色,如(white)
pushedcolor STRING 按下状态颜色,如(white)
disabledcolor STRING 禁用状态颜色,如(white)
bordercolor STRING 边框颜色,如(blue)
bordersize 0 INT / RECT 可以设置INT或RECT类型的值。当值为ING时则左、上、右、下都用该值作为宽。值为RECT类型时则分别设置左、上、右、下的边框
leftbordersize 0 INT 左边边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置
topbordersize 0 INT 顶部边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置
rightbordersize 0 INT 右边边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置
bottombordersize 0 INT 底部边框大小,如(1),设置该值大于0,则将忽略bordersize属性的设置
borderround 0,0 SIZE 边框圆角半径,如(2,2)
width stretch INT / STRING 可以设置INT或STRING类型的值.当值为INT是则设置控件的最小宽度,如(100);当值为STRING时,stretch代表由父容器计算控件宽度,auto代表根据内容情况自动计算宽度
height stretch INT / STRING 可以设置INT或STRING类型的值.当值为INT是则设置控件的最小高度,如(100);当值为STRING时,stretch代表由父容器计算控件高度,auto代表根据内容情况自动计算高度
minwidth -1 INT 控件的最小宽度,如(30)
minheight -1 INT 控件的最小高度,如(30)
maxwidth 9999999 INT / STRING 控件的最大宽度,描述同width
maxheight 9999999 INT / STRING 控件的最大高度,描述同height
bkimage STRING 背景图片,如(bk.bmp或file='aaa.jpg' res='' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' fade='255' xtiled='false' ytiled='false')
tooltiptext STRING 鼠标悬浮提示,如(请在这里输入你的密码)
tooltiptextid STRING 鼠标悬浮提示,指定多语言模块的ID,当tooltiptext为空时则显示此属性,如(TOOL_TIP_ID)
dataid STRING 自定义字符串数据,辅助函数,供用户使用
enabled true BOOL 是否可以响应用户操作,如(true)
mouse true BOOL 本控件是否可以响应鼠标操作,如(true)
receivepointer true BOOL 是否响应触控消息,如(true)
keyboard true BOOL 非CButtonUI类忽略该值,为false时不支持TAB_STOP,且该对象不处理键盘信息
visible true BOOL 是否可见,如(true)
fadevisible true BOOL 是否可见,如(true),此属性会触发控件动画效果
float false BOOL 是否使用绝对定位,如(true)
menu false BOOL 是否需要右键菜单,如(true)
cache false BOOL 是否启用控件绘制缓存,如(true)
nofocus false BOOL 是否可以获取焦点,如(true)
alpha 255 INT 控件的整体透明度,如(128)
state normal STRING 控件的当前状态,支持normal、hot、pushed、disabled状态
cursortype arrow STRING 鼠标移动到控件上时的鼠标光标,arrow、hand、ibeam
normalimage STRING 普通状态图片
hotimage STRING 鼠标悬浮的状态图片
pushedimage STRING 鼠标按下的状态图片
disabledimage STRING 禁用的状态图片
forenormalimage STRING 普通状态前景图片
forehotimage STRING 鼠标悬浮的状态前景图片
forepushedimage STRING 鼠标按下的状态前景图片
foredisabledimage STRING 禁用的状态前景图片
renderoffset 0,0 SIZE 控件绘制时的偏移量,如(10,10),一般用于绘制动画
fadealpha false BOOL 是否启用控件透明渐变动画,如(true)
fadehot false BOOL 是否启用控件悬浮状态下 的透明渐变动画,如(true)
fadewidth false BOOL 是否启用控件宽度渐变动画,如(true)
fadeheight false BOOL 是否启用控件高度渐变动画,如(true)
fadeinoutxfromleft false BOOL 是否启用控件从左到右的动画,如(true)
fadeinoutxfromright false BOOL 是否启用控件从右到左的动画,如(true)
fadeinoutyfromtop false BOOL 是否启用控件从上到下的动画,如(true)
fadeinoutyfrombottom false BOOL 是否启用控件从下到上的动画,如(true)

可用接口

Control 继承了 PlaceHolder 提供的接口,包含了所有基础控件共有的属性。

接口名称 用途
GetParent 获取父容器指针
GetAncestor 根据名称获取祖先容器指针
GetName 获取控件名称,对应 xml 中 name 属性
GetUTF8Name 获取控件名称,对应 xml 中 name 属性
SetName 设置控件名称,内存中设置不会写入 xml 中
SetUTF8Name 设置控件名称,内存中设置不会写入 xml 中(UTF8 编码)
GetWindow 获取关联的窗口指针
SetWindow 设置容器所属窗口
Init 初始化函数
DoInit 由 Init 调用,功能与 Init 相同
IsVisible 判断是否可见
IsInternVisible 待补充
IsFloat 判断控件是否浮动,对应 xml 中 float 属性
SetFloat 设置控件是否浮动
GetFixedWidth 获取固定宽度,对应 xml 中 width 属性
SetFixedWidth 设置控件固定宽度
GetFixedHeight 获取固定高度
SetFixedHeight 设置固定高度
GetMinWidth 获取最小宽度
SetMinWidth 设置最小宽度
GetMaxWidth 获取最大宽度
SetMaxWidth 设置最大宽度
GetMinHeight 获取最小高度
SetMinHeight 设置最小高度
GetMaxHeight 获取最大高度
SetMaxHeight 设置最大高度
GetWidth 获取实际宽度
GetHeight 获取实际高度
GetHorAlignType 获取水平对齐方式
SetHorAlignType 设置水平对齐方式
GetVerAlignType 获取垂直对齐方式
SetVerAlignType 设置垂直对齐方式
IsReEstimateSize 待补充
SetReEstimateSize 待补充
EstimateSize 待补充
GetPos 获取控件位置
SetPos 设置控件位置
Arrange 进行布局
ArrangeAncestor 让父容器排列
IsArranged 判断是否已经排列过
Invalidate 重绘控件
GetPosWithScrollOffset 待补充
GetScrollOffset 待补充
ArrangeSelf 待补充
GetBkColor 获取背景颜色
SetBkColor 设置背景颜色
GetStateColor 获取某个状态下的字体颜色
SetStateColor 设置某个状态下的字体颜色
GetBkImage 获取背景图片位置
GetUTF8BkImage 获取 UTF8 格式的背景图片位置
SetBkImage 设置背景图片
SetUTF8BkImage 设置背景图片(UTF8 格式字符串)
GetStateImage 获取指定状态下的图片位置
SetStateImage 设置某个状态下的图片
GetForeStateImage 获取指定状态下的前景图片
SetForeStateImage 设置某个状态下前景图片
GetState 获取控件状态
SetState 设置控件状态
GetEstimateImage 获取控件图片指针
GetBorderSize 获取边框大小
SetBorderSize 设置边框大小
GetBorderColor 获取边框颜色
SetBorderColor 设置边框颜色
SetBorderSize 设置边框的大小
GetLeftBorderSize 获取左侧边框大小
SetLeftBorderSize 设置左侧边框大小
GetTopBorderSize 获取顶部边框大小
SetTopBorderSize 设置顶部边框大小
GetRightBorderSize 获取右侧边框大小
SetRightBorderSize 设置右侧边框大小
GetBottomBorderSize 获取下方边框大小
SetBottomBorderSize 设置下方边框大小
GetBorderRound 获取边框大小
SetBorderRound 设置边框大小
GetCursorType 获取鼠标指针类型
SetCursorType 设置当前鼠标指针类型
GetToolTipText 获取控件在鼠标悬浮状态下的提示文本
GetUTF8ToolTipText 获取控件在鼠标悬浮状态下的提示文本(UTF8 格式)
SetToolTipText 设置鼠标悬浮到控件显示的提示文本
SetUTF8ToolTipText 设置鼠标悬浮到控件显示的提示文本(UTF8 格式)
SetToolTipTextId 设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字
SetUTF8ToolTipTextId 设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字(UTF8 格式)
SetToolTipWidth 设置鼠标悬浮到控件上提示的文本单行最大宽度
GetToolTipWidth 获取鼠标悬浮到控件上提示的文本单行最大宽度
IsContextMenuUsed 控件是否响应右键菜单消息
SetContextMenuUsed 设置控件响应右键菜单消息
GetDataID 获取用户绑定到控件的数据字符串
GetUTF8DataID 获取用户绑定到控件的数据字符串(UTF8 格式)
SetDataID 绑定一个字符串数据到控件
SetUTF8DataID 绑定一个字符串数据到控件(UTF8 格式)
GetUserDataBase 获取用户绑定的自定义数据结构
SetUserDataBase 绑定自定义数据到控件,用户可继承 UserDataBase 来补充需要绑定的数据
SetVisible 设置控件是否可见
SetInternVisible 待补充
SetVisible_ 待补充
IsEnabled 检查控件是否可用
SetEnabled 设置控件可用状态
IsMouseEnabled 检查控件是否响应鼠标事件
SetMouseEnabled 设置控件是否响应鼠标事件
IsKeyboardEnabled 检查控件是否响应键盘事件
SetKeyboardEnabled 设置控件是否响应键盘事件
IsFocused 检查控件是否具有焦点
SetFocus 让控件获取焦点
SetNoFocus 让控件设置永远获取不到焦点
GetControlFlags 返回控件的标识,用于判断是否可以响应 TAB 切换事件
IsMouseFocused 判断当前鼠标焦点是否在控件上
SetMouseFocused 设置是否将鼠标焦点到控件上
IsActivatable 判断控件当前是否是激活状态
Activate 待补充
FindControl 根据坐标查找指定控件
GetPos 获取控件位置
SetPos 设置控件位置
GetMargin 获取控件的外边距
SetMargin 设置控件的外边距
EstimateSize 计算控件大小
EstimateText 待补充
IsPointInWithScrollOffset 检查指定坐标是否在滚动条当前滚动位置的范围内
HasHotState 判断控件是否处于 HOT 状态
SetReceivePointerMsg 设置控件是否响应触控消息
IsReceivePointerMsg 判断控件是否响应触控消息
SetNeedButtonUpWhenKillFocus 设置控件失去焦点时是否发送鼠标弹起消息
IsNeedButtonUpWhenKillFocus 判断控件失去焦点时是否发送鼠标弹起消息
SetAttribute 设置控件指定属性
SetClass 设置控件的 class 全局属性
ApplyAttributeList 应用一套属性列表
OnApplyAttributeList 待补充
HandleMessageTemplate 控件统一的消息处理入口,将传统 Windows 消息转换为自定义格式的消息
HandleMessageTemplate 将转换后的消息派发到消息处理函数
GetImage 根据图片路径缓存图片信息
DrawImage 绘制图片
GetRenderContext 获取绘制上下文对象
ClearRenderContext 清理绘制上下文对象
AlphaPaint 待补充
Paint 绘制控件的入口函数
PaintChild 绘制控件子项入口函数
SetClip 设置是否对绘制范围做剪裁限制
IsClip 判断是否对绘制范围做剪裁限制
SetAlpha 设置控件透明度
GetAlpha 获取控件透明度
IsAlpha 检查控件是否有透明属性
SetHotAlpha 设置焦点状态透明度
GetHotAlpha 获取焦点状态透明度
GetRenderOffset 获取控件绘制偏移量
SetRenderOffset 设置控件绘制偏移量
SetRenderOffsetX 设置控件偏移的 X 坐标
SetRenderOffsetY 设置控件偏移的 Y 坐标
StartGifPlayForUI 播放 GIF
StopGifPlayForUI 停止播放 GIF
AttachGifPlayStop 监听 GIF 播放完成通知

GetParent

获取父容器指针

Box* GetParent()
  • 参 数:无
  • 返回值:返回父容器指针

GetAncestor

根据名称获取祖先容器指针

Box* GetAncestor(const std::wstring& strName)
  • 参 数:
    • strName 要获取的祖先容器名称
  • 返回值:返回祖先容器指针

GetName

获取控件名称,对应 xml 中 name 属性

std::wstring GetName()
  • 参 数:无
  • 返回值:返回控件名称

GetUTF8Name

获取控件名称,对应 xml 中 name 属性

std::string GetUTF8Name()
  • 参 数:无
  • 返回值:返回控件名称(UTF8 编码)

SetName

设置控件名称,内存中设置不会写入 xml 中

void SetName(const std::wstring& strName)
  • 参 数:
    • strName 要设置的名称
  • 返回值:无

SetUTF8Name

设置控件名称,内存中设置不会写入 xml 中(UTF8 编码)

void SetUTF8Name(const std::string& strName)
  • 参 数:
    • strName 要设置的名称
  • 返回值:无

GetWindow

获取关联的窗口指针

virtual Window* GetWindow()
  • 参 数:无
  • 返回值:返回关联窗口的指针

SetWindow

设置容器所属窗口

virtual void SetWindow(Window* pManager, Box* pParent, bool bInit = true)
  • 参 数:
    • pManager 窗口指针
    • pParent 父容器
    • bInit 设置后是否调用 Init 初始化控件
  • 返回值:无

SetWindow

设置容器所属窗口

virtual void SetWindow(Window* pManager)
  • 参 数:
    • pManager 窗口指针
  • 返回值:无

Init

初始化函数

virtual void Init()
  • 参 数:无
  • 返回值:无

DoInit

由 Init 调用,功能与 Init 相同

virtual void DoInit()
  • 参 数:无
  • 返回值:无

IsVisible

判断是否可见

virtual bool IsVisible()
  • 参 数:无
  • 返回值:返回 true 为可见,否则 false 为不可见

IsInternVisible

待补充

bool IsInternVisible()
  • 参 数:
    • `待补充
  • 返回值:待补充

IsFloat

判断控件是否浮动,对应 xml 中 float 属性

bool IsFloat()
  • 参 数:无
  • 返回值:返回 true 是浮动状态,否则 false 为非浮动状态

SetFloat

设置控件是否浮动

void SetFloat(bool bFloat = true)
  • 参 数:
    • bFloat 设置为 true 为浮动,false 为不浮动
  • 返回值:无

GetFixedWidth

获取固定宽度,对应 xml 中 width 属性

int GetFixedWidth()
  • 参 数:无
  • 返回值:返回控件宽度

SetFixedWidth

设置控件固定宽度

void SetFixedWidth(int cx, bool bArrange = true, bool bNeedDpiScale = true)
  • 参 数:
    • cx 要设置的宽度
    • bArrange 是否重新排列,默认为 true
    • bNeedDpiScale 兼容 DPI 缩放,默认为 true
  • 返回值:无

GetFixedHeight

获取固定高度

int GetFixedHeight()
  • 参 数:无
  • 返回值:返回固定高度

SetFixedHeight

设置固定高度

void SetFixedHeight(int cy, bool bNeedDpiScale = true)
  • 参 数:
    • cy 要设置的固定高度
    • bNeedDpiScale 兼容 DPI 缩放,默认为 true
  • 返回值:无

GetMinWidth

获取最小宽度

int GetMinWidth()
  • 参 数:无
  • 返回值:返回最小宽度

SetMinWidth

设置最小宽度

void SetMinWidth(int cx)
  • 参 数:
    • cx 要设置的最小宽度
  • 返回值:无

GetMaxWidth

获取最大宽度

int GetMaxWidth()
  • 参 数:无
  • 返回值:返回最大宽度

SetMaxWidth

设置最大宽度

void SetMaxWidth(int cx)
  • 参 数:
    • cx 要设置的最大宽度
  • 返回值:无

GetMinHeight

获取最小高度

int GetMinHeight()
  • 参 数:无
  • 返回值:返回最小高度

SetMinHeight

设置最小高度

void SetMinHeight(int cy)
  • 参 数:
    • cy 要设置的最小高度
  • 返回值:无

GetMaxHeight

获取最大高度

int GetMaxHeight()
  • 参 数:无
  • 返回值:返回最大高度

SetMaxHeight

设置最大高度

void SetMaxHeight(int cy)
  • 参 数:
    • cy 要设置的最大高度
  • 返回值:无

GetWidth

获取实际宽度

int GetWidth()
  • 参 数:无
  • 返回值:返回实际宽度

GetHeight

获取实际高度

int GetHeight()
  • 参 数:无
  • 返回值:返回实际高度

GetHorAlignType

获取水平对齐方式

HorAlignType GetHorAlignType()
  • 参 数:无
  • 返回值:返回水平对齐方式,参考 HorAlignType 枚举

SetHorAlignType

设置水平对齐方式

void SetHorAlignType(HorAlignType horAlignType)
  • 参 数:
    • horAlignType 要设置的对齐方式,参考 枚举
  • 返回值:无

GetVerAlignType

获取垂直对齐方式

VerAlignType GetVerAlignType()
  • 参 数:无
  • 返回值:返回垂直对齐方式,参见 VerAlignType 枚举

SetVerAlignType

设置垂直对齐方式

void SetVerAlignType(VerAlignType verAlignType)
  • 参 数:
    • vorAlignType 要设置的对齐方式,参考 VerAlignType 枚举
  • 返回值:无

IsReEstimateSize

待补充

bool IsReEstimateSize()
  • 参 数:
    • `待补充
  • 返回值:待补充

SetReEstimateSize

待补充

void SetReEstimateSize(bool bReEstimateSize)
  • 参 数:
    • `待补充
  • 返回值:待补充

EstimateSize

待补充

virtual CSize EstimateSize(CSize szAvailable)
  • 参 数:
    • `待补充
  • 返回值:待补充

GetPos

获取控件位置

virtual	UiRect GetPos(bool bContainShadow = true)
  • 参 数:
    • bContainShadow 是否包含阴影位置,默认为 true
  • 返回值:返回控件位置

SetPos

设置控件位置

virtual void SetPos(UiRect rc)
  • 参 数:
    • rc 要设置的位置信息
  • 返回值:无

Arrange

进行布局

virtual void Arrange()
  • 参 数:无
  • 返回值:无

ArrangeAncestor

让父容器排列

virtual void ArrangeAncestor()
  • 参 数:无
  • 返回值:无

IsArranged

判断是否已经排列过

bool IsArranged()
  • 参 数:无
  • 返回值:true 为已经排列过,false 为尚未排列

Invalidate

重绘控件

virtual void Invalidate()
  • 参 数:无
  • 返回值:无

GetPosWithScrollOffset

待补充

UiRect GetPosWithScrollOffset()
  • 参 数:
    • `待补充
  • 返回值:待补充

GetScrollOffset

待补充

CPoint GetScrollOffset()
  • 参 数:
    • `待补充
  • 返回值:待补充

ArrangeSelf

待补充

virtual void ArrangeSelf()
  • 参 数:
    • `待补充
  • 返回值:待补充

GetBkColor

获取背景颜色

std::wstring GetBkColor()
  • 参 数:无
  • 返回值:返回背景颜色的字符串,该值在 global.xml 中定义

SetBkColor

设置背景颜色

void SetBkColor(const std::wstring& strColor)
  • 参 数:
    • strColor 要设置的背景颜色值,该值必须在 global.xml 中存在
  • 返回值:无

GetStateColor

获取某个状态下的字体颜色

std::wstring GetStateColor(ControlStateType stateType)
  • 参 数:
    • stateType 要获取何种状态下的颜色值,参考 Control枚举
  • 返回值:指定状态下设定的颜色字符串,对应 global.xml 中指定色值

SetStateColor

设置某个状态下的字体颜色

void SetStateColor(ControlStateType stateType, const std::wstring& strColor)
  • 参 数:
    • stateType 要设置何种状态下的颜色值,参考 Control枚举
    • strColor 要设置的颜色值,该值必须在 global.xml 中存在
  • 返回值:无

GetBkImage

获取背景图片位置

std::wstring GetBkImage()
  • 参 数:无
  • 返回值:背景图片位置

GetUTF8BkImage

获取 UTF8 格式的背景图片位置

std::string GetUTF8BkImage()
  • 参 数:无
  • 返回值:背景图片位置

SetBkImage

设置背景图片

void SetBkImage(const std::wstring& strImage)
  • 参 数:
    • strImage 要设置的图片路径
  • 返回值:无

SetUTF8BkImage

设置背景图片(UTF8 格式字符串)

void SetUTF8BkImage(const std::string& strImage)
  • 参 数:
    • strImage 要设置的图片路径
  • 返回值:无

GetStateImage

获取指定状态下的图片位置

std::wstring GetStateImage(ControlStateType stateType)
  • 参 数:
    • stateType 要获取何种状态下的图片,参考 ControlStateType 枚举
  • 返回值:指定状态下的图片位置

SetStateImage

设置某个状态下的图片

void SetStateImage(ControlStateType stateType, const std::wstring& strImage)
  • 参 数:
    • stateType 要设置何种状态下的图片,参考 Control枚举
    • strImage 要设置的图片路径
  • 返回值:无

GetForeStateImage

获取指定状态下的前景图片

std::wstring GetForeStateImage(ControlStateType stateType)
  • 参 数:
    • stateType 要获取何种状态下的图片,参考 ControlStateType 枚举
  • 返回值:指定状态下前景图片位置

SetForeStateImage

设置某个状态下前景图片

void SetForeStateImage(ControlStateType stateType, const std::wstring& strImage)
  • 参 数:
    • stateType 要设置何种状态下的图片,参考 ControlStateType 枚举
    • strImage 要设置的前景图片路径
  • 返回值:无

GetState

获取控件状态

ControlStateType GetState()
  • 参 数:无
  • 返回值:控件的状态,请参考 ControlStateType 枚举

SetState

设置控件状态

void SetState(ControlStateType pStrState)
  • 参 数:
    • pStrState 要设置的控件状态,请参考 ControlStateType 枚举
  • 返回值:无

GetEstimateImage

获取控件图片指针

virtual Image* GetEstimateImage()
  • 参 数:无
  • 返回值:返回图片对象指针

GetBorderSize

获取边框大小

int GetBorderSize()
  • 参 数:无
  • 返回值:返回边框的大小

SetBorderSize

设置边框大小

void SetBorderSize(int nSize)
  • 参 数:
    • nSize 要设置的边框大小
  • 返回值:无

GetBorderColor

获取边框颜色

std::wstring GetBorderColor()
  • 参 数:无
  • 返回值:边框的颜色字符串,对应 global.xml 中的具体颜色值

SetBorderColor

设置边框颜色

void SetBorderColor(const std::wstring& strBorderColor)
  • 参 数:
    • strBorderColor 设置边框的颜色字符串值,该值必须在 global.xml 中存在
  • 返回值:无

SetBorderSize

设置边框的大小

void SetBorderSize(UiRect rc)
  • 参 数:
    • rc 一个 UiRect 结构的边框大小集合
  • 返回值:无

GetLeftBorderSize

获取左侧边框大小

int GetLeftBorderSize()
  • 参 数:无
  • 返回值:左侧边框的大小

SetLeftBorderSize

设置左侧边框大小

void SetLeftBorderSize(int nSize)
  • 参 数:
    • nSize 要设置的左侧边框大小
  • 返回值:无

GetTopBorderSize

获取顶部边框大小

int GetTopBorderSize()
  • 参 数:无
  • 返回值:顶部边框大小

SetTopBorderSize

设置顶部边框大小

void SetTopBorderSize(int nSize)
  • 参 数:
    • nSize 要设置的上方边框大小
  • 返回值:无

GetRightBorderSize

获取右侧边框大小

int GetRightBorderSize()
  • 参 数:无
  • 返回值:右侧的边框大小

SetRightBorderSize

设置右侧边框大小

void SetRightBorderSize(int nSize)
  • 参 数:
    • nSize 要设置的右侧边框大小
  • 返回值:无

GetBottomBorderSize

获取下方边框大小

int GetBottomBorderSize()
  • 参 数:无
  • 返回值:下方边框大小

SetBottomBorderSize

设置下方边框大小

void SetBottomBorderSize(int nSize)
  • 参 数:
    • nSize 要设置的下方边框大小
  • 返回值:无

GetBorderRound

获取边框大小

CSize GetBorderRound()
  • 参 数:无
  • 返回值:四个方向的边框大小

SetBorderRound

设置边框大小

void SetBorderRound(CSize cxyRound)
  • 参 数:
    • cxyRound 一个 CSize 结构表示了四个方向边框的大小
  • 返回值:无

GetCursorType

获取鼠标指针类型

virtual CursorType GetCursorType()
  • 参 数:无
  • 返回值:当前鼠标类型

SetCursorType

设置当前鼠标指针类型

void SetCursorType(CursorType flag)
  • 参 数:
    • flag 要设置的鼠标类型,参考 CursorType 枚举
  • 返回值:无

GetToolTipText

获取控件在鼠标悬浮状态下的提示文本

virtual std::wstring GetToolTipText()
  • 参 数:无
  • 返回值:返回当前鼠标悬浮状态提示的文本

GetUTF8ToolTipText

获取控件在鼠标悬浮状态下的提示文本(UTF8 格式)

virtual std::string GetUTF8ToolTipText()
  • 参 数:无
  • 返回值:返回当前鼠标悬浮状态提示的文本

SetToolTipText

设置鼠标悬浮到控件显示的提示文本

virtual void SetToolTipText(const std::wstring& strText)
  • 参 数:
    • strText 要设置的文本
  • 返回值:无

SetUTF8ToolTipText

设置鼠标悬浮到控件显示的提示文本(UTF8 格式)

virtual void SetUTF8ToolTipText(const std::string& strText)
  • 参 数:
    • strText 要设置的文本
  • 返回值:无

SetToolTipTextId

设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字

virtual void SetToolTipTextId(const std::wstring& strTextId)
  • 参 数:
    • strTextId 在语言文件中对应的提示文字 ID
  • 返回值:无

SetUTF8ToolTipTextId

设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字(UTF8 格式)

virtual void SetUTF8ToolTipTextId(const std::string& strTextId)
  • 参 数:
    • strTextId 在语言文件中对应的提示文字 ID
  • 返回值:无

SetToolTipWidth

设置鼠标悬浮到控件上提示的文本单行最大宽度

virtual void SetToolTipWidth(int nWidth)
  • 参 数:
    • nWidth 要设置的宽度值
  • 返回值:无

GetToolTipWidth

获取鼠标悬浮到控件上提示的文本单行最大宽度

virtual int GetToolTipWidth(void)
  • 参 数:无
  • 返回值:当前提示文本最大宽度

IsContextMenuUsed

控件是否响应右键菜单消息

virtual bool IsContextMenuUsed()
  • 参 数:无
  • 返回值:返回结果表示了是否响应右键菜单消息,true 响应右键菜单消息,false 不响应右键菜单消息

SetContextMenuUsed

设置控件响应右键菜单消息

virtual void SetContextMenuUsed(bool bMenuUsed)
  • 参 数:
    • bMenuUsed 是否响应右键菜单消息,true 为是,false 为否
  • 返回值:无

GetDataID

获取用户绑定到控件的数据字符串

virtual std::wstring GetDataID()
  • 参 数:无
  • 返回值:返回具体数据字符串

GetUTF8DataID

获取用户绑定到控件的数据字符串(UTF8 格式)

virtual std::string GetUTF8DataID()
  • 参 数:无
  • 返回值:返回具体数据字符串

SetDataID

绑定一个字符串数据到控件

virtual void SetDataID(const std::wstring& strText)
  • 参 数:
    • strText 要绑定的字符串数据
  • 返回值:无

SetUTF8DataID

绑定一个字符串数据到控件(UTF8 格式)

virtual void SetUTF8DataID(const std::string& strText)
  • 参 数:
    • strText 要绑定的字符串数据
  • 返回值:无

GetUserDataBase

获取用户绑定的自定义数据结构

virtual UserDataBase* GetUserDataBase()
  • 参 数:无
  • 返回值:用户绑定的自定义结构数据指针

SetUserDataBase

绑定自定义数据到控件,用户可继承 UserDataBase 来补充需要绑定的数据

virtual void SetUserDataBase(UserDataBase* pUserDataBase)
  • 参 数:
    • pUserDataBase 数据指针
  • 返回值:无

SetVisible

设置控件是否可见

virtual void SetVisible(bool bVisible = true)
  • 参 数:
    • bVisible 为 true 时控件可见,为 false 时控件被隐藏
  • 返回值:无

SetInternVisible

待补充

virtual void SetInternVisible(bool bVisible = true)
  • 参 数:
    • `待补充
  • 返回值:待补充

SetVisible_

待补充

virtual void SetVisible_(bool bVisible)
  • 参 数:
    • `待补充
  • 返回值:待补充

IsEnabled

检查控件是否可用

virtual bool IsEnabled()
  • 参 数:无
  • 返回值:控件可用状态,返回 true 控件可用,否则为 false

SetEnabled

设置控件可用状态

virtual void SetEnabled(bool bEnable = true)
  • 参 数:
    • bEnable 为 true 时控件可用,为 false 时控件为禁用状态则不可用
  • 返回值:无

IsMouseEnabled

检查控件是否响应鼠标事件

virtual bool IsMouseEnabled()
  • 参 数:无
  • 返回值:返回控件是否响应鼠标事件,返回 true 响应鼠标事件,false 为不响应

SetMouseEnabled

设置控件是否响应鼠标事件

virtual void SetMouseEnabled(bool bEnable = true)
  • 参 数:
    • bEnable 为 true 响应鼠标事件,为 false 时不响应鼠标事件
  • 返回值:无

IsKeyboardEnabled

检查控件是否响应键盘事件

virtual bool IsKeyboardEnabled()
  • 参 数:无
  • 返回值:返回控件是否响应键盘事件,返回 true 响应键盘事件,false 不响应键盘事件

SetKeyboardEnabled

设置控件是否响应键盘事件

virtual void SetKeyboardEnabled(bool bEnable = true)
  • 参 数:
    • bEnable 为 true 响应键盘事件,为 false 时不响应键盘事件
  • 返回值:无

IsFocused

检查控件是否具有焦点

virtual bool IsFocused()
  • 参 数:无
  • 返回值:返回控件是否具有检点,为 true 时是当前具有焦点,为 false 时控件没有焦点

SetFocus

让控件获取焦点

virtual void SetFocus()
  • 参 数:无
  • 返回值:无

SetNoFocus

让控件设置永远获取不到焦点

void SetNoFocus()
  • 参 数:无
  • 返回值:无

GetControlFlags

返回控件的标识,用于判断是否可以响应 TAB 切换事件

virtual UINT GetControlFlags() const
  • 参 数:无
  • 返回值:返回控件的标识类型,UIFLAG_DEFAULT 为默认状态不支持焦点切换,UIFLAG_TABSTOP 为支持焦点切换

IsMouseFocused

判断当前鼠标焦点是否在控件上

virtual bool IsMouseFocused()
  • 参 数:无
  • 返回值:返回鼠标焦点是否在控件上,true 鼠标焦点在控件上,false 鼠标焦点不在控件上

SetMouseFocused

设置是否将鼠标焦点到控件上

virtual void SetMouseFocused(bool bMouseFocused)
  • 参 数:
    • bMouseFocused 为 true 时设置鼠标焦点到控件上,为 false 时让控件失去鼠标焦点
  • 返回值:无

IsActivatable

判断控件当前是否是激活状态

virtual bool IsActivatable()
  • 参 数:无
  • 返回值:返回控件状态,true 控件当前是激活状态,可见并可用,false 控件当前非激活状态,可能不可见或被禁用

Activate

待补充

virtual void Activate()
  • 参 数:
    • `待补充
  • 返回值:待补充

FindControl

根据坐标查找指定控件

virtual Control* FindControl(FINDCONTROLPROC Proc, LPVOID pData, UINT uFlags, CPoint scrollPos = CPoint()
  • 参 数:
    • `Proc
    • `pData
    • `uFlags
    • `scrollPos
  • 返回值:返回控件的指针

GetPos

获取控件位置

virtual	UiRect GetPos(bool bContainShadow = true)
  • 参 数:
    • bContainShadow 是否包含阴影,默认为 true 则包含阴影范围,否则 false 为不包含
  • 返回值:返回控件的位置信息

SetPos

设置控件位置

virtual void SetPos(UiRect rc)
  • 参 数:
    • rc 控件位置的描述信息
  • 返回值:无

GetMargin

获取控件的外边距

virtual UiRect GetMargin()
  • 参 数:无
  • 返回值:返回控件的外边距

SetMargin

设置控件的外边距

virtual void SetMargin(UiRect rcMargin, bool bNeedDpiScale = true)
  • 参 数:
    • rcMargin 控件的外边距信息
    • bNeedDpiScale 是否让外边距根据 DPI 适配,默认为 true,false 不适配 DPI
  • 返回值:无

EstimateSize

计算控件大小

virtual CSize EstimateSize(CSize szAvailable)
  • 参 数:
    • szAvailable 暂无意义
  • 返回值:szAvailable 控件实际大小(如果设置了图片并设置 width 或 height 任意一项为 auto,将根据图片来计算最终大小)

EstimateText

待补充

virtual CSize EstimateText(CSize szAvailable, bool& bReEstimateSize)
  • 参 数:
    • `待补充
  • 返回值:待补充

IsPointInWithScrollOffset

检查指定坐标是否在滚动条当前滚动位置的范围内

virtual bool IsPointInWithScrollOffset(const CPoint& point)
  • 参 数:
    • point 具体坐标
  • 返回值:返回是否在范围内,true 在滚动条当前滚动位置范围内,false 不在滚动条当前滚动位置范围内

HasHotState

判断控件是否处于 HOT 状态

virtual bool HasHotState()
  • 参 数:无
  • 返回值:返回 true 表示当前处于 HOT 状态, 否则为 false

SetReceivePointerMsg

设置控件是否响应触控消息

void SetReceivePointerMsg(bool bRecv)
  • 参 数:
    • bRecv 设置为 true 表示响应触控消息,false 为不响应
  • 返回值:无

IsReceivePointerMsg

判断控件是否响应触控消息

bool IsReceivePointerMsg() const
  • 参 数:无
  • 返回值:返回 true 为响应,否则为 false

SetNeedButtonUpWhenKillFocus

设置控件失去焦点时是否发送鼠标弹起消息

void SetNeedButtonUpWhenKillFocus(bool bNeed)
  • 参 数:
    • bNeed bNeed 设置为 true 表示响应触控消息,false 为不响应
  • 返回值:无

IsNeedButtonUpWhenKillFocus

判断控件失去焦点时是否发送鼠标弹起消息

bool IsNeedButtonUpWhenKillFocus() const
  • 参 数:无
  • 返回值:返回 true 为需要,false 为不需要

SetAttribute

设置控件指定属性

virtual void SetAttribute(const std::wstring& strName, const std::wstring& strValue)
  • 参 数:
    • strName 要设置的属性名称(如 width)
    • strValue 要设置的属性值(如 100)
  • 返回值:无

SetClass

设置控件的 class 全局属性

void SetClass(const std::wstring& strClass)
  • 参 数:
    • strClass 要设置的 class 名称,该名称必须在 global.xml 中存在
  • 返回值:无

ApplyAttributeList

应用一套属性列表

void ApplyAttributeList(const std::wstring& strList)
  • 参 数:
    • strList 属性列表的字符串表示,如 width="100" height="30"
  • 返回值:无

OnApplyAttributeList

待补充

bool OnApplyAttributeList(const std::wstring& strReceiver, const std::wstring& strList, EventArgs* eventArgs)
  • 参 数:
    • `待补充
  • 返回值:待补充

HandleMessageTemplate

控件统一的消息处理入口,将传统 Windows 消息转换为自定义格式的消息

void HandleMessageTemplate(EventType eventType, WPARAM wParam = 0, LPARAM lParam = 0, TCHAR tChar = 0, CPoint mousePos = CPoint()
  • 参 数:
    • `eventType 消息内容
    • `wParam 消息附加内容
    • `lParam 消息附加内容
    • `tChar 按键信息
    • `mousePos 鼠标信息
  • 返回值:无

HandleMessageTemplate

将转换后的消息派发到消息处理函数

virtual void HandleMessageTemplate(EventArgs& msg)
  • 参 数:
    • msg 消息内容
  • 返回值:无

GetImage

根据图片路径缓存图片信息

void GetImage(Image& duiImage)
  • 参 数:无
  • 返回值:无

DrawImage

绘制图片

bool DrawImage(IRenderContext* pRender, Image& duiImage, const std::wstring& strModify = L"", int nFade = DUI_NOSET_VALUE)
  • 参 数:
    • pRender 绘制上下文
    • duiImage 图片对象
    • strModify 图片的附加属性
    • nFade 控件的透明度,如果启用动画效果该值在绘制时是不断变化的
  • 返回值:成功返回 true,失败返回 false

AlphaPaint

待补充

void AlphaPaint(IRenderContext* pRender, const UiRect& rcPaint)
  • 参 数:
    • `待补充
  • 返回值:待补充

GetRenderContext

获取绘制上下文对象

IRenderContext* GetRenderContext()
  • 参 数:无
  • 返回值:返回绘制上下文对象

ClearRenderContext

清理绘制上下文对象

void ClearRenderContext()
  • 参 数:无
  • 返回值:无

Paint

绘制控件的入口函数

virtual void Paint(IRenderContext* pRender, const UiRect& rcPaint)
  • 参 数:
    • pRender 指定绘制区域
    • rcPaint 指定绘制坐标
  • 返回值:无

PaintChild

绘制控件子项入口函数

virtual void PaintChild(IRenderContext* pRender, const UiRect& rcPaint)
  • 参 数:
    • pRender 指定绘制区域
    • rcPaint 指定绘制坐标
  • 返回值:无

SetClip

设置是否对绘制范围做剪裁限制

void SetClip(bool clip)
  • 参 数:
    • clip 设置 true 为需要,否则为不需要,见绘制函数
  • 返回值:无

IsClip

判断是否对绘制范围做剪裁限制

bool IsClip() const
  • 参 数:无
  • 返回值:返回 true 为需要,false 为不需要

SetAlpha

设置控件透明度

void SetAlpha(int alpha)
  • 参 数:
    • alpha 0 ~ 255 的透明度值,255 为不透明
  • 返回值:无

GetAlpha

获取控件透明度

int GetAlpha()
  • 参 数:无
  • 返回值:返回控件的透明度

IsAlpha

检查控件是否有透明属性

bool IsAlpha()
  • 参 数:无
  • 返回值:返回控件是否透明,true 控件当前有透明属性,false 控件没有透明属性

SetHotAlpha

设置焦点状态透明度

void SetHotAlpha(int nHotAlpha)
  • 参 数:
    • alpha 0 ~ 255 的透明度值,255 为不透明
  • 返回值:无

GetHotAlpha

获取焦点状态透明度

int GetHotAlpha()
  • 参 数:无
  • 返回值:返回控件焦点状态的透明度

GetRenderOffset

获取控件绘制偏移量

CPoint GetRenderOffset()
  • 参 数:无
  • 返回值:返回当前控件的绘制偏移量

SetRenderOffset

设置控件绘制偏移量

void SetRenderOffset(CPoint renderOffset)
  • 参 数:
    • renderOffset 控件偏移数据
  • 返回值:无

SetRenderOffsetX

设置控件偏移的 X 坐标

void SetRenderOffsetX(int renderOffsetX)
  • 参 数:
    • renderOffsetX X 坐标值
  • 返回值:无

SetRenderOffsetY

设置控件偏移的 Y 坐标

void SetRenderOffsetY(int renderOffsetY)
  • 参 数:
    • renderOffsetY Y 坐标值
  • 返回值:无

StartGifPlayForUI

播放 GIF

void StartGifPlayForUI(GifStopType frame = kGifStopFirst,int playcount = -1)
  • 参 数:
    • playcount 播放完成停止在哪一帧,可设置第一帧、当前帧和最后一帧。请参考 GifStopType 枚举
  • 返回值:无

StopGifPlayForUI

停止播放 GIF

void StopGifPlayForUI(bool transfer = false, GifStopType frame = kGifStopCurrent)
  • 参 数:
    • transfer 是否将停止事件通知给订阅者,参考 AttachGifPlayStop 方法
    • frame 播放结束停止在哪一帧,可设置第一帧、当前帧和最后一帧。请参考 GifStopType 枚举
  • 返回值:无

AttachGifPlayStop

监听 GIF 播放完成通知

void AttachGifPlayStop(const EventCallback& callback)
  • 参 数:
    • callback 要监听 GIF 停止播放的回调函数
  • 返回值:无