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
提供的接口,包含了所有基础控件共有的属性。
获取父容器指针
Box* GetParent()
- 参 数:无
- 返回值:返回父容器指针
根据名称获取祖先容器指针
Box* GetAncestor(const std::wstring& strName)
- 参 数:
strName
要获取的祖先容器名称
- 返回值:返回祖先容器指针
获取控件名称,对应 xml 中 name 属性
std::wstring GetName()
- 参 数:无
- 返回值:返回控件名称
获取控件名称,对应 xml 中 name 属性
std::string GetUTF8Name()
- 参 数:无
- 返回值:返回控件名称(UTF8 编码)
设置控件名称,内存中设置不会写入 xml 中
void SetName(const std::wstring& strName)
- 参 数:
strName
要设置的名称
- 返回值:无
设置控件名称,内存中设置不会写入 xml 中(UTF8 编码)
void SetUTF8Name(const std::string& strName)
- 参 数:
strName
要设置的名称
- 返回值:无
获取关联的窗口指针
virtual Window* GetWindow()
- 参 数:无
- 返回值:返回关联窗口的指针
设置容器所属窗口
virtual void SetWindow(Window* pManager, Box* pParent, bool bInit = true)
- 参 数:
pManager
窗口指针pParent
父容器bInit
设置后是否调用 Init 初始化控件
- 返回值:无
设置容器所属窗口
virtual void SetWindow(Window* pManager)
- 参 数:
pManager
窗口指针
- 返回值:无
初始化函数
virtual void Init()
- 参 数:无
- 返回值:无
由 Init 调用,功能与 Init 相同
virtual void DoInit()
- 参 数:无
- 返回值:无
判断是否可见
virtual bool IsVisible()
- 参 数:无
- 返回值:返回 true 为可见,否则 false 为不可见
待补充
bool IsInternVisible()
- 参 数:
- `待补充
- 返回值:待补充
判断控件是否浮动,对应 xml 中 float 属性
bool IsFloat()
- 参 数:无
- 返回值:返回 true 是浮动状态,否则 false 为非浮动状态
设置控件是否浮动
void SetFloat(bool bFloat = true)
- 参 数:
bFloat
设置为 true 为浮动,false 为不浮动
- 返回值:无
获取固定宽度,对应 xml 中 width 属性
int GetFixedWidth()
- 参 数:无
- 返回值:返回控件宽度
设置控件固定宽度
void SetFixedWidth(int cx, bool bArrange = true, bool bNeedDpiScale = true)
- 参 数:
cx
要设置的宽度bArrange
是否重新排列,默认为 truebNeedDpiScale
兼容 DPI 缩放,默认为 true
- 返回值:无
获取固定高度
int GetFixedHeight()
- 参 数:无
- 返回值:返回固定高度
设置固定高度
void SetFixedHeight(int cy, bool bNeedDpiScale = true)
- 参 数:
cy
要设置的固定高度bNeedDpiScale
兼容 DPI 缩放,默认为 true
- 返回值:无
获取最小宽度
int GetMinWidth()
- 参 数:无
- 返回值:返回最小宽度
设置最小宽度
void SetMinWidth(int cx)
- 参 数:
cx
要设置的最小宽度
- 返回值:无
获取最大宽度
int GetMaxWidth()
- 参 数:无
- 返回值:返回最大宽度
设置最大宽度
void SetMaxWidth(int cx)
- 参 数:
cx
要设置的最大宽度
- 返回值:无
获取最小高度
int GetMinHeight()
- 参 数:无
- 返回值:返回最小高度
设置最小高度
void SetMinHeight(int cy)
- 参 数:
cy
要设置的最小高度
- 返回值:无
获取最大高度
int GetMaxHeight()
- 参 数:无
- 返回值:返回最大高度
设置最大高度
void SetMaxHeight(int cy)
- 参 数:
cy
要设置的最大高度
- 返回值:无
获取实际宽度
int GetWidth()
- 参 数:无
- 返回值:返回实际宽度
获取实际高度
int GetHeight()
- 参 数:无
- 返回值:返回实际高度
获取水平对齐方式
HorAlignType GetHorAlignType()
- 参 数:无
- 返回值:返回水平对齐方式,参考 HorAlignType 枚举
设置水平对齐方式
void SetHorAlignType(HorAlignType horAlignType)
- 参 数:
horAlignType
要设置的对齐方式,参考 枚举
- 返回值:无
获取垂直对齐方式
VerAlignType GetVerAlignType()
- 参 数:无
- 返回值:返回垂直对齐方式,参见 VerAlignType 枚举
设置垂直对齐方式
void SetVerAlignType(VerAlignType verAlignType)
- 参 数:
vorAlignType
要设置的对齐方式,参考 VerAlignType 枚举
- 返回值:无
待补充
bool IsReEstimateSize()
- 参 数:
- `待补充
- 返回值:待补充
待补充
void SetReEstimateSize(bool bReEstimateSize)
- 参 数:
- `待补充
- 返回值:待补充
待补充
virtual CSize EstimateSize(CSize szAvailable)
- 参 数:
- `待补充
- 返回值:待补充
获取控件位置
virtual UiRect GetPos(bool bContainShadow = true)
- 参 数:
bContainShadow
是否包含阴影位置,默认为 true
- 返回值:返回控件位置
设置控件位置
virtual void SetPos(UiRect rc)
- 参 数:
rc
要设置的位置信息
- 返回值:无
进行布局
virtual void Arrange()
- 参 数:无
- 返回值:无
让父容器排列
virtual void ArrangeAncestor()
- 参 数:无
- 返回值:无
判断是否已经排列过
bool IsArranged()
- 参 数:无
- 返回值:true 为已经排列过,false 为尚未排列
重绘控件
virtual void Invalidate()
- 参 数:无
- 返回值:无
待补充
UiRect GetPosWithScrollOffset()
- 参 数:
- `待补充
- 返回值:待补充
待补充
CPoint GetScrollOffset()
- 参 数:
- `待补充
- 返回值:待补充
待补充
virtual void ArrangeSelf()
- 参 数:
- `待补充
- 返回值:待补充
获取背景颜色
std::wstring GetBkColor()
- 参 数:无
- 返回值:返回背景颜色的字符串,该值在 global.xml 中定义
设置背景颜色
void SetBkColor(const std::wstring& strColor)
- 参 数:
strColor
要设置的背景颜色值,该值必须在 global.xml 中存在
- 返回值:无
获取某个状态下的字体颜色
std::wstring GetStateColor(ControlStateType stateType)
- 参 数:
stateType
要获取何种状态下的颜色值,参考 Control枚举
- 返回值:指定状态下设定的颜色字符串,对应 global.xml 中指定色值
设置某个状态下的字体颜色
void SetStateColor(ControlStateType stateType, const std::wstring& strColor)
- 参 数:
stateType
要设置何种状态下的颜色值,参考 Control枚举strColor
要设置的颜色值,该值必须在 global.xml 中存在
- 返回值:无
获取背景图片位置
std::wstring GetBkImage()
- 参 数:无
- 返回值:背景图片位置
获取 UTF8 格式的背景图片位置
std::string GetUTF8BkImage()
- 参 数:无
- 返回值:背景图片位置
设置背景图片
void SetBkImage(const std::wstring& strImage)
- 参 数:
strImage
要设置的图片路径
- 返回值:无
设置背景图片(UTF8 格式字符串)
void SetUTF8BkImage(const std::string& strImage)
- 参 数:
strImage
要设置的图片路径
- 返回值:无
获取指定状态下的图片位置
std::wstring GetStateImage(ControlStateType stateType)
- 参 数:
stateType
要获取何种状态下的图片,参考ControlStateType
枚举
- 返回值:指定状态下的图片位置
设置某个状态下的图片
void SetStateImage(ControlStateType stateType, const std::wstring& strImage)
- 参 数:
stateType
要设置何种状态下的图片,参考 Control枚举strImage
要设置的图片路径
- 返回值:无
获取指定状态下的前景图片
std::wstring GetForeStateImage(ControlStateType stateType)
- 参 数:
stateType
要获取何种状态下的图片,参考ControlStateType
枚举
- 返回值:指定状态下前景图片位置
设置某个状态下前景图片
void SetForeStateImage(ControlStateType stateType, const std::wstring& strImage)
- 参 数:
stateType
要设置何种状态下的图片,参考ControlStateType
枚举strImage
要设置的前景图片路径
- 返回值:无
获取控件状态
ControlStateType GetState()
- 参 数:无
- 返回值:控件的状态,请参考
ControlStateType
枚举
设置控件状态
void SetState(ControlStateType pStrState)
- 参 数:
pStrState
要设置的控件状态,请参考ControlStateType
枚举
- 返回值:无
获取控件图片指针
virtual Image* GetEstimateImage()
- 参 数:无
- 返回值:返回图片对象指针
获取边框大小
int GetBorderSize()
- 参 数:无
- 返回值:返回边框的大小
设置边框大小
void SetBorderSize(int nSize)
- 参 数:
nSize
要设置的边框大小
- 返回值:无
获取边框颜色
std::wstring GetBorderColor()
- 参 数:无
- 返回值:边框的颜色字符串,对应 global.xml 中的具体颜色值
设置边框颜色
void SetBorderColor(const std::wstring& strBorderColor)
- 参 数:
strBorderColor
设置边框的颜色字符串值,该值必须在 global.xml 中存在
- 返回值:无
设置边框的大小
void SetBorderSize(UiRect rc)
- 参 数:
rc
一个UiRect
结构的边框大小集合
- 返回值:无
获取左侧边框大小
int GetLeftBorderSize()
- 参 数:无
- 返回值:左侧边框的大小
设置左侧边框大小
void SetLeftBorderSize(int nSize)
- 参 数:
nSize
要设置的左侧边框大小
- 返回值:无
获取顶部边框大小
int GetTopBorderSize()
- 参 数:无
- 返回值:顶部边框大小
设置顶部边框大小
void SetTopBorderSize(int nSize)
- 参 数:
nSize
要设置的上方边框大小
- 返回值:无
获取右侧边框大小
int GetRightBorderSize()
- 参 数:无
- 返回值:右侧的边框大小
设置右侧边框大小
void SetRightBorderSize(int nSize)
- 参 数:
nSize
要设置的右侧边框大小
- 返回值:无
获取下方边框大小
int GetBottomBorderSize()
- 参 数:无
- 返回值:下方边框大小
设置下方边框大小
void SetBottomBorderSize(int nSize)
- 参 数:
nSize
要设置的下方边框大小
- 返回值:无
获取边框大小
CSize GetBorderRound()
- 参 数:无
- 返回值:四个方向的边框大小
设置边框大小
void SetBorderRound(CSize cxyRound)
- 参 数:
cxyRound
一个 CSize 结构表示了四个方向边框的大小
- 返回值:无
获取鼠标指针类型
virtual CursorType GetCursorType()
- 参 数:无
- 返回值:当前鼠标类型
设置当前鼠标指针类型
void SetCursorType(CursorType flag)
- 参 数:
flag
要设置的鼠标类型,参考 CursorType 枚举
- 返回值:无
获取控件在鼠标悬浮状态下的提示文本
virtual std::wstring GetToolTipText()
- 参 数:无
- 返回值:返回当前鼠标悬浮状态提示的文本
获取控件在鼠标悬浮状态下的提示文本(UTF8 格式)
virtual std::string GetUTF8ToolTipText()
- 参 数:无
- 返回值:返回当前鼠标悬浮状态提示的文本
设置鼠标悬浮到控件显示的提示文本
virtual void SetToolTipText(const std::wstring& strText)
- 参 数:
strText
要设置的文本
- 返回值:无
设置鼠标悬浮到控件显示的提示文本(UTF8 格式)
virtual void SetUTF8ToolTipText(const std::string& strText)
- 参 数:
strText
要设置的文本
- 返回值:无
设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字
virtual void SetToolTipTextId(const std::wstring& strTextId)
- 参 数:
strTextId
在语言文件中对应的提示文字 ID
- 返回值:无
设置鼠标悬浮到控件显示的提示文本在语言文件中对应的文字(UTF8 格式)
virtual void SetUTF8ToolTipTextId(const std::string& strTextId)
- 参 数:
strTextId
在语言文件中对应的提示文字 ID
- 返回值:无
设置鼠标悬浮到控件上提示的文本单行最大宽度
virtual void SetToolTipWidth(int nWidth)
- 参 数:
nWidth
要设置的宽度值
- 返回值:无
获取鼠标悬浮到控件上提示的文本单行最大宽度
virtual int GetToolTipWidth(void)
- 参 数:无
- 返回值:当前提示文本最大宽度
控件是否响应右键菜单消息
virtual bool IsContextMenuUsed()
- 参 数:无
- 返回值:返回结果表示了是否响应右键菜单消息,true 响应右键菜单消息,false 不响应右键菜单消息
设置控件响应右键菜单消息
virtual void SetContextMenuUsed(bool bMenuUsed)
- 参 数:
bMenuUsed
是否响应右键菜单消息,true 为是,false 为否
- 返回值:无
获取用户绑定到控件的数据字符串
virtual std::wstring GetDataID()
- 参 数:无
- 返回值:返回具体数据字符串
获取用户绑定到控件的数据字符串(UTF8 格式)
virtual std::string GetUTF8DataID()
- 参 数:无
- 返回值:返回具体数据字符串
绑定一个字符串数据到控件
virtual void SetDataID(const std::wstring& strText)
- 参 数:
strText
要绑定的字符串数据
- 返回值:无
绑定一个字符串数据到控件(UTF8 格式)
virtual void SetUTF8DataID(const std::string& strText)
- 参 数:
strText
要绑定的字符串数据
- 返回值:无
获取用户绑定的自定义数据结构
virtual UserDataBase* GetUserDataBase()
- 参 数:无
- 返回值:用户绑定的自定义结构数据指针
绑定自定义数据到控件,用户可继承 UserDataBase 来补充需要绑定的数据
virtual void SetUserDataBase(UserDataBase* pUserDataBase)
- 参 数:
pUserDataBase
数据指针
- 返回值:无
设置控件是否可见
virtual void SetVisible(bool bVisible = true)
- 参 数:
bVisible
为 true 时控件可见,为 false 时控件被隐藏
- 返回值:无
待补充
virtual void SetInternVisible(bool bVisible = true)
- 参 数:
- `待补充
- 返回值:待补充
待补充
virtual void SetVisible_(bool bVisible)
- 参 数:
- `待补充
- 返回值:待补充
检查控件是否可用
virtual bool IsEnabled()
- 参 数:无
- 返回值:控件可用状态,返回 true 控件可用,否则为 false
设置控件可用状态
virtual void SetEnabled(bool bEnable = true)
- 参 数:
bEnable
为 true 时控件可用,为 false 时控件为禁用状态则不可用
- 返回值:无
检查控件是否响应鼠标事件
virtual bool IsMouseEnabled()
- 参 数:无
- 返回值:返回控件是否响应鼠标事件,返回 true 响应鼠标事件,false 为不响应
设置控件是否响应鼠标事件
virtual void SetMouseEnabled(bool bEnable = true)
- 参 数:
bEnable
为 true 响应鼠标事件,为 false 时不响应鼠标事件
- 返回值:无
检查控件是否响应键盘事件
virtual bool IsKeyboardEnabled()
- 参 数:无
- 返回值:返回控件是否响应键盘事件,返回 true 响应键盘事件,false 不响应键盘事件
设置控件是否响应键盘事件
virtual void SetKeyboardEnabled(bool bEnable = true)
- 参 数:
bEnable
为 true 响应键盘事件,为 false 时不响应键盘事件
- 返回值:无
检查控件是否具有焦点
virtual bool IsFocused()
- 参 数:无
- 返回值:返回控件是否具有检点,为 true 时是当前具有焦点,为 false 时控件没有焦点
让控件获取焦点
virtual void SetFocus()
- 参 数:无
- 返回值:无
让控件设置永远获取不到焦点
void SetNoFocus()
- 参 数:无
- 返回值:无
返回控件的标识,用于判断是否可以响应 TAB 切换事件
virtual UINT GetControlFlags() const
- 参 数:无
- 返回值:返回控件的标识类型,
UIFLAG_DEFAULT
为默认状态不支持焦点切换,UIFLAG_TABSTOP
为支持焦点切换
判断当前鼠标焦点是否在控件上
virtual bool IsMouseFocused()
- 参 数:无
- 返回值:返回鼠标焦点是否在控件上,true 鼠标焦点在控件上,false 鼠标焦点不在控件上
设置是否将鼠标焦点到控件上
virtual void SetMouseFocused(bool bMouseFocused)
- 参 数:
bMouseFocused
为 true 时设置鼠标焦点到控件上,为 false 时让控件失去鼠标焦点
- 返回值:无
判断控件当前是否是激活状态
virtual bool IsActivatable()
- 参 数:无
- 返回值:返回控件状态,true 控件当前是激活状态,可见并可用,false 控件当前非激活状态,可能不可见或被禁用
待补充
virtual void Activate()
- 参 数:
- `待补充
- 返回值:待补充
根据坐标查找指定控件
virtual Control* FindControl(FINDCONTROLPROC Proc, LPVOID pData, UINT uFlags, CPoint scrollPos = CPoint()
- 参 数:
- `Proc
- `pData
- `uFlags
- `scrollPos
- 返回值:返回控件的指针
获取控件位置
virtual UiRect GetPos(bool bContainShadow = true)
- 参 数:
bContainShadow
是否包含阴影,默认为 true 则包含阴影范围,否则 false 为不包含
- 返回值:返回控件的位置信息
设置控件位置
virtual void SetPos(UiRect rc)
- 参 数:
rc
控件位置的描述信息
- 返回值:无
获取控件的外边距
virtual UiRect GetMargin()
- 参 数:无
- 返回值:返回控件的外边距
设置控件的外边距
virtual void SetMargin(UiRect rcMargin, bool bNeedDpiScale = true)
- 参 数:
rcMargin
控件的外边距信息bNeedDpiScale
是否让外边距根据 DPI 适配,默认为 true,false 不适配 DPI
- 返回值:无
计算控件大小
virtual CSize EstimateSize(CSize szAvailable)
- 参 数:
szAvailable
暂无意义
- 返回值:szAvailable 控件实际大小(如果设置了图片并设置 width 或 height 任意一项为 auto,将根据图片来计算最终大小)
待补充
virtual CSize EstimateText(CSize szAvailable, bool& bReEstimateSize)
- 参 数:
- `待补充
- 返回值:待补充
检查指定坐标是否在滚动条当前滚动位置的范围内
virtual bool IsPointInWithScrollOffset(const CPoint& point)
- 参 数:
point
具体坐标
- 返回值:返回是否在范围内,true 在滚动条当前滚动位置范围内,false 不在滚动条当前滚动位置范围内
判断控件是否处于 HOT 状态
virtual bool HasHotState()
- 参 数:无
- 返回值:返回 true 表示当前处于 HOT 状态, 否则为 false
设置控件是否响应触控消息
void SetReceivePointerMsg(bool bRecv)
- 参 数:
bRecv
设置为 true 表示响应触控消息,false 为不响应
- 返回值:无
判断控件是否响应触控消息
bool IsReceivePointerMsg() const
- 参 数:无
- 返回值:返回 true 为响应,否则为 false
设置控件失去焦点时是否发送鼠标弹起消息
void SetNeedButtonUpWhenKillFocus(bool bNeed)
- 参 数:
bNeed
bNeed 设置为 true 表示响应触控消息,false 为不响应
- 返回值:无
判断控件失去焦点时是否发送鼠标弹起消息
bool IsNeedButtonUpWhenKillFocus() const
- 参 数:无
- 返回值:返回 true 为需要,false 为不需要
设置控件指定属性
virtual void SetAttribute(const std::wstring& strName, const std::wstring& strValue)
- 参 数:
strName
要设置的属性名称(如 width)strValue
要设置的属性值(如 100)
- 返回值:无
设置控件的 class 全局属性
void SetClass(const std::wstring& strClass)
- 参 数:
strClass
要设置的 class 名称,该名称必须在 global.xml 中存在
- 返回值:无
应用一套属性列表
void ApplyAttributeList(const std::wstring& strList)
- 参 数:
strList
属性列表的字符串表示,如width="100" height="30"
- 返回值:无
待补充
bool OnApplyAttributeList(const std::wstring& strReceiver, const std::wstring& strList, EventArgs* eventArgs)
- 参 数:
- `待补充
- 返回值:待补充
控件统一的消息处理入口,将传统 Windows 消息转换为自定义格式的消息
void HandleMessageTemplate(EventType eventType, WPARAM wParam = 0, LPARAM lParam = 0, TCHAR tChar = 0, CPoint mousePos = CPoint()
- 参 数:
- `eventType 消息内容
- `wParam 消息附加内容
- `lParam 消息附加内容
- `tChar 按键信息
- `mousePos 鼠标信息
- 返回值:无
将转换后的消息派发到消息处理函数
virtual void HandleMessageTemplate(EventArgs& msg)
- 参 数:
msg
消息内容
- 返回值:无
根据图片路径缓存图片信息
void GetImage(Image& duiImage)
- 参 数:无
- 返回值:无
绘制图片
bool DrawImage(IRenderContext* pRender, Image& duiImage, const std::wstring& strModify = L"", int nFade = DUI_NOSET_VALUE)
- 参 数:
pRender
绘制上下文duiImage
图片对象strModify
图片的附加属性nFade
控件的透明度,如果启用动画效果该值在绘制时是不断变化的
- 返回值:成功返回 true,失败返回 false
待补充
void AlphaPaint(IRenderContext* pRender, const UiRect& rcPaint)
- 参 数:
- `待补充
- 返回值:待补充
获取绘制上下文对象
IRenderContext* GetRenderContext()
- 参 数:无
- 返回值:返回绘制上下文对象
清理绘制上下文对象
void ClearRenderContext()
- 参 数:无
- 返回值:无
绘制控件的入口函数
virtual void Paint(IRenderContext* pRender, const UiRect& rcPaint)
- 参 数:
pRender
指定绘制区域rcPaint
指定绘制坐标
- 返回值:无
绘制控件子项入口函数
virtual void PaintChild(IRenderContext* pRender, const UiRect& rcPaint)
- 参 数:
pRender
指定绘制区域rcPaint
指定绘制坐标
- 返回值:无
设置是否对绘制范围做剪裁限制
void SetClip(bool clip)
- 参 数:
clip
设置 true 为需要,否则为不需要,见绘制函数
- 返回值:无
判断是否对绘制范围做剪裁限制
bool IsClip() const
- 参 数:无
- 返回值:返回 true 为需要,false 为不需要
设置控件透明度
void SetAlpha(int alpha)
- 参 数:
alpha
0 ~ 255 的透明度值,255 为不透明
- 返回值:无
获取控件透明度
int GetAlpha()
- 参 数:无
- 返回值:返回控件的透明度
检查控件是否有透明属性
bool IsAlpha()
- 参 数:无
- 返回值:返回控件是否透明,true 控件当前有透明属性,false 控件没有透明属性
设置焦点状态透明度
void SetHotAlpha(int nHotAlpha)
- 参 数:
alpha
0 ~ 255 的透明度值,255 为不透明
- 返回值:无
获取焦点状态透明度
int GetHotAlpha()
- 参 数:无
- 返回值:返回控件焦点状态的透明度
获取控件绘制偏移量
CPoint GetRenderOffset()
- 参 数:无
- 返回值:返回当前控件的绘制偏移量
设置控件绘制偏移量
void SetRenderOffset(CPoint renderOffset)
- 参 数:
renderOffset
控件偏移数据
- 返回值:无
设置控件偏移的 X 坐标
void SetRenderOffsetX(int renderOffsetX)
- 参 数:
renderOffsetX
X 坐标值
- 返回值:无
设置控件偏移的 Y 坐标
void SetRenderOffsetY(int renderOffsetY)
- 参 数:
renderOffsetY
Y 坐标值
- 返回值:无
播放 GIF
void StartGifPlayForUI(GifStopType frame = kGifStopFirst,int playcount = -1)
- 参 数:
playcount
播放完成停止在哪一帧,可设置第一帧、当前帧和最后一帧。请参考 GifStopType 枚举
- 返回值:无
停止播放 GIF
void StopGifPlayForUI(bool transfer = false, GifStopType frame = kGifStopCurrent)
- 参 数:
transfer
是否将停止事件通知给订阅者,参考 AttachGifPlayStop 方法frame
播放结束停止在哪一帧,可设置第一帧、当前帧和最后一帧。请参考 GifStopType 枚举
- 返回值:无
监听 GIF 播放完成通知
void AttachGifPlayStop(const EventCallback& callback)
- 参 数:
callback
要监听 GIF 停止播放的回调函数
- 返回值:无