CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::CControlUI类 参考

控件基类 更多...

类 BUI::CControlUI 继承关系图:

struct  LinkControl
struct  PopControlInfo

Public 成员函数

 CControlUI ()
virtual ~CControlUI ()
BOOL Create (IManageHandler *manager, LPCTSTR name, LPCTSTR text, DWORD style, RECT rc, CControlUI *parent=NULL, UINT id=0)
 创建虚拟控件:创建过程中,会将控件加入到全局的垃圾管理机制中。用于在程序退出时,释放内存
BOOL Create (IManageHandler *manager, LPCTSTR name, LPCTSTR text, DWORD style, int x, int y, int cx, int cy, CControlUI *parent=NULL, UINT num_id=0)
void InsertChild (CControlUI *current, CControlUI *prev)
 插入子控件
BOOL RemoveChild (CControlUI *child)
 删除子控件
IManageHandlerGetManagerUI () const
 返回管理器对象
BOOL SendParentMessage (UINT message, WPARAM wp, LPARAM lp) const
BOOL SendToManager (UINT message, WPARAM wp=0, LPARAM lp=0)
void SendToAllChilds (UINT message, WPARAM wp, LPARAM lp)
 将消息传递给每一个子控件响应
void SetEventHandler (IEventHandler *hander)
 设置事件处理对象
IEventHandlerEventHandler () const
 获得事件处理对象
void SetParent (CControlUI *parent)
 设置父控件
CControlUIParent () const
 父控件
CControlUIFirstChild () const
 第一个孩子节点
CControlUILastChild () const
 最后的孩子节点
CControlUINextSibling () const
 下一个兄弟节点
CControlUIPrevSibling () const
 上一个兄弟节点
void AddAnimate (const BeString &id, std::shared_ptr< GAnimateProperty > animate)
 添加动画
void PauseAnimate (BOOL is_pause)
 动画使能:暂停(TRUE)或开启(FALSE)
GAnimateTransformVectorAnimateTransform ()
 获得动画数组
void ModifyControlFlags (uint64_t style, UINT op=ADD_FLAGS)
 设置控件风格
uint64_t IsHasControlFlags (uint64_t flags) const
uint64_t GetControlFlags () const
POINT GetViewPoint (float xp, float yp, BOOL is_client=FALSE) const
 获得控件内的绝对位置坐标
RECT GetViewParentRect (float cx, float cy, float w, float h) const
 获得父控件内的位置坐标
POINT GetParentViewPoint (float xp, float yp, BOOL is_client=FALSE) const
 获得父控件内的绝对位置坐标
void SetControlNotes (const BeString &str)
 设置控件注释信息
BeString GetControlNotes () const
 获得控件的注释信息
LPCTSTR Text () const
 获得文本
void SetControlText (BeString str, BOOL is_refresh=FALSE)
 设置文本
void SetAdaptMinText (const BeString &str)
 布局最小适应文本
void SetControlTextByNumber (double value, int precision, BOOL remoe_last_zero)
 以数值设置文本
double GetControlTextNumber () const
 获得文本表示的数值
void SetVarName (const BeString &str)
 设置控件唯一标识符
void SetVarNameA (const char *var_name)
 设置控件唯一标识符
void SetVarNameW (const WCHAR *varname)
 设置控件唯一标识符
void SetCommitTarget (ICommitTarget *obj)
 设置数据提交对象
void AddAbsordLayout (std::shared_ptr< ILayout > layout)
 添加悬浮布局
void DelAbsordLayout (std::shared_ptr< ILayout > layout)
 删除悬浮布局
void SetBlurSize (UINT size)
 设置高斯模糊尺寸
UINT BlurSize () const
 返回高斯模糊尺寸
GBrushArray GetControlColorsStyle (ColorSceneType type)
 获取颜色外观
void SetControlColorsStyle (ColorSceneType type, GBrushArray colors)
 设置颜色外观
void SetShadowText (int dx, int dy, int blur_x, int blur_y, const GColor &color)
 设置文本阴影
void SetRoundRadiusValues (const CNumberValue radius[8])
 设置矩形圆角
void GetRoundRadius (RoundRectRadius &ra) const
void GetRoundRadiusWithRect (const RECT &rc, RoundRectRadius &ra) const
GShadowContainGetShadowContain ()
 获得阴影容器对象
GFontGetFont () const
 获得字体
void SetFont (GFont *font)
 设置字体
void SetFontSize (int height)
 设置字体大小
void SetStrokeSize (UINT size)
 设置轮廓线宽
void SetPositionX (int x)
 设置控件x坐标
void SetPositionY (int y)
 设置控件y坐标
void SetPositionXY (int x, int y)
 设置控件(x,y)坐标
int Width () const
 获得控件宽度
void SetWidth (int w)
 设置控件宽度
int Height () const
 获得控件高度
void SetHeight (int h)
 设置控件高度
int SaveAsImage (LPCTSTR out_png)
 保存控件图像为png
int SaveAsLongImage (LPCTSTR out_png)
 保存为长图
void BindAction (const std::shared_ptr< IActionNotify > &notify)
 绑定事件
void ClearAction ()
 清空事件
void TriggerAction ()
 触发事件
ActionTableGetActionTable ()
 获得鼠标事件映射表
void TriggerScript ()
 执行脚本事件
ActionKeyboardMapGetActionKeyboard (BOOL is_create=TRUE)
 获得键盘事件表
void SetCaptureCtl ()
 捕获鼠标
void ReleaseCaptureCtl ()
 释放焦点捕获
void ChangeUIToNodeLink ()
 将控件控制权,交给Node节点控制
void SetClipZoom (int x, int y, int w, int h)
 设置控件可视裁剪区域。约束控件的显示区域
BOOL BringBottomMost ()
 将控件移动到所有兄弟控件中的第一个
BOOL BringTopMost ()
 将控件移动到所有兄弟控件中的最后一个
BOOL TestOrder () const
 判断是否被其他控件遮盖 TRUE 代表遮盖
void TipTrack (int x, int y, LPCTSTR text=NULL)
 提示框显示位置 x, y 是相对窗口
void TipHide ()
 隐藏提示框
void ShowControl (bool is_show, bool notify_layout=true)
 显示虚拟窗口
void SetVisibleWhenMouseHover (BOOL open)
 设置只在鼠标悬停时,显示控件
BOOL IsVisible () const
 控件在父控件中的显示状态
BOOL IsFocused () const
 焦点状态
void EnableControl (bool is_enable, bool is_refresh=true)
 TRUE:启用控件. FALSE:禁用控件
void EnableNodeFlagControl (bool is_enable, bool is_refresh=true)
 nodedata包含的控件。表示node是否被禁用
BOOL IsEnabled () const
 判断是否可用。TRUE:代表可用
BOOL IsBkShowTiming () const
void SetBkShowTiming (ShowModel mode)
 背景绘制时机
void SetBorderShowTiming (ShowModel mode)
 边框绘制时机
BOOL IsCreateSucceed () const
 判断是否是有效控件
BOOL IsShortCutVaild ()
 判断是否存在快捷键
void EnableShortCut (bool is_enable)
 开启(或禁用)快捷键
void SetShortCut (int virtual_key)
void SetShortCutCtrlCode (UBYTE virtual_key)
BOOL DoShortCut (UBYTE ctrl, UBYTE virtual_key)
void EnableBorderAdjustFlag (UINT align_border=ALIGN_LEFT, bool is_enable=true)
 设置边框调整使能
void SetToolTipText (LPCTSTR tip_text)
 设置提示文本
void SetToolTipText (const BeString &tip_str)
 设置提示文本
void SetPopTipUI (const std::shared_ptr< PopControlInfo > &pop_info)
 设置弹出pop显示ui
void AutoAdaptSize ()
 自动计算自适应大小
void PopupPosition (int x, int y, int dx, int dy, UINT align)
void PopTipUI (BOOL is_show)
 展示pop状态
BOOL HitTestPopUI (POINT pt)
 是否命中弹出控件
void GetRectInScreen (LPRECT rc)
 获得在HWND中的绝对位置
void SetControlMouseCursor (CursorMouse id)
 设置控件的鼠标光标
void SetFocus ()
 取得焦点 和HWND焦点不要混淆 ,这是不一样的东西,只是函数名称我为了好记住
void Scroll (int x, int y)
 视区的坐标原点偏移
void Refresh (BOOL is_sync=FALSE)
 窗口失效重绘
void RefreshThreadSafe ()
 在gui线程之外时调安全的刷新函数
void RefreshRect (RECT *rc_update)
 窗口失效重绘
void GetDragPos (RECT *rc) const
 窗口拖拽的原始位置
void OnDestory ()
 控件销毁
void UpdateAdaptLayout () const
 更新adapt布局
BOOL MoveControl (RECT rect, BOOL is_refresh=TRUE)
 移动控件到目标矩形区域
BOOL MoveControl (int x, int y, int w, int h, BOOL is_refresh=TRUE)
 移动控件位置。(x,y)代表父控件坐标空间值
void MoveDragControl (int dx, int dy, BOOL is_refresh=TRUE)
 拖拽移动。(dx,dy)移动距离向量
void MoveCenterByPercent (RECT *rc_view, float scale_x=0.5, float scale_y=0.5, int w=0, int h=0, BOOL adapt_dpi=FALSE, BOOL is_refresh=TRUE)
 将控件移动到以(scale_x, scale_y)百分比的中心点
void MoveControlAnimate (RECT rc_start, RECT rc_end, BOOL is_show, int animate_duration=300)
 以动画模式移动
void PopupAtMousePosition (int dx, int dy, int w, int h, BOOL adapt_dpi=FALSE, BOOL is_refresh=TRUE)
 在鼠标位置出弹出控件
void ResetLayoutChilds (UINT flags=0)
 重置子布局
void SetSkinModule (const BeString &skin_group)
 设置皮肤id
void SetSkinStyle (const BeString &skin_name)
 设置皮肤id
void SetDrawStyleWithFourCode (LPCTSTR draw_style)
 设置控件绘制的风格样式,同一种控件的表现样式可以有多种。 输入值只有前四位字符有效。一个控件表现形式在实际中不会很多。不用整形的目的是增强可读性
BOOL IsDrawStyleWithFourCode (TCHAR a='\0', TCHAR b='\0', TCHAR c='\0', TCHAR d='\0') const
 判断是否匹配四字符数
void GetSkinModule (BeStringShort64 &module_name)
void GetSkinStyle (BeStringShort64 &style_name)
RECT GetMarginAreaRect (BOOL contain_shadow=FALSE) const
 获得外边距下的相对于窗口的矩形区域
RECT GetControlRect () const
 获得控件在窗口坐标下的矩形区域
RECT GetControlClientRect () const
 返回基于客户区的坐标
RECT GetControlScreenRect () const
 返回基于屏幕的坐标
RECT GetOppositePosition (RECT rc_contain, RECT rc_child, BOOL is_intersect=TRUE) const
 返回rc_child相对rc_contain坐标系的位置
SIZE GetStringSize (LPCTSTR str) const
 获得字符串尺寸
ILayoutGetAttchLayout () const
 获得管理控件自身的布局对象
ShowStatus GetPaintStatus (bool ignore_left_button=true) const
 获得控件状态
POINT GetClientPoint (double percent_width, double percent_height)
 获得控件坐标系下百分比的绝对位置
CControlUIFindTabFocusControl (BOOL is_next) const
 获得接下来的焦点控件
void NotifyMangerIsDestory ()
 告知管理者已销毁
ST_PolicyGetSignalPolicy ()
 信号和槽机制的回收器
BOOL TranslateSyncMsg (UINT message, WPARAM wp, LPARAM lp)
 向上层转发同步消息
BOOL OnMessageHandler (UINT message, WPARAM wp, LPARAM lp) override
 虚拟控件最终消息处理过程
int FindChildControlByHandler (std::vector< CControlUI * > &vec, IEventHandler *handler)
 查找(通过控件的SetEventHandler()指定的事件处理对象来寻找)
int FindAllControlByName (std::vector< CControlUI * > &vec, LPCTSTR str_name, BOOL is_recursion=TRUE) const
 在当前控件之下查找所有同名控件
int FindAllControl (std::vector< CControlUI * > &vec, BOOL is_recursion=TRUE) const
 获得所有子控件
CControlUIFindControlByName (LPCTSTR str_name, BOOL is_recursion=TRUE) const
 在当前控件之下查找控件
CControlUIGetParent () const
 获得父窗口
CControlUIGetParentOnTopMost () const
 获得最顶层父窗口
CControlUIHitTestChildControl (POINT pt, BOOL is_recursive=TRUE) const
 定位到子控件对象
CControlUINextFocusControl (BOOL is_prev=FALSE) const
 下一个焦点控件
void SaveSettingConfig ()
 保存配置
BOOL OnPaintControl (ISurface *surface, LPRECT rc_update=NULL, LPRECT rc_parent_view=NULL)
 控件渲染
float BackOpacity () const
 背景透明度
float BorderOpacity () const
 轮廓边框透明度
float StrokeDashOffset () const
 Dash偏移
virtual POINT ViewOrigin () const
 坐标原点偏移量
virtual CControlUIHitTestControl (POINT pt)
 根据位置得到最终的定位控件
virtual BOOL HitTest (POINT pt)
 点击测试
virtual void GetLayoutViewRect (RECT *rc)
virtual BeString GetControlText ()
virtual void GetControlValueText (BasicStringBuffer &buffer)
 获得控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
virtual void SetControlValueText (const BeString &str)
 设置控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
virtual ILayoutBoxLayoutMgr ()
 容器布局对象
virtual void Activate ()
 激活
virtual CControlUIClone ()
 克隆对象
virtual void ChangeThemeColors ()
 切换主题色
virtual void GetRelationship (std::vector< BeString > &list)
 获得类的继承关系
virtual void ShellAttribute (const BeString &str_name, const BeString &str_value)
 命令控制和属性设置接口
virtual void GetAttributeNames (std::vector< BeString > &out_vec)
BOOL ShellAttributeToChildControl (const BeString &child_name, const BeString &str_name, const BeString &str_value)
virtual void OnParseItemData (XMLItem *node)
 解析xml文件对应的数据
virtual void OnParseAnimate (XMLItem *node)
 解析控件动画对象
virtual void OnSaveConfigSetting (XMLItem *node)
 保存控件属性到全局配置文件
virtual void OnLoadConfigSetting (XMLItem *node)
 加载控件属性
virtual void OnCreate ()
 产生时间是窗口创建之后显示之前
virtual void OnFontChange ()
 字体更改
virtual void OnControlSize ()
 控件尺寸改变时触发
virtual void OnShow (bool is_show)
 控件可见性发生变化时触发
virtual void OnCtrlKillFocus ()
 ui控件失去焦点
virtual void OnCtrlSetFocus ()
 ui控件获得焦点
virtual BOOL OnKillFocus (WPARAM wp, LPARAM lp)
 当管理的句柄HWND失去焦点时 进入此函数,也就是此函数实际上是窗口 MSG_WND_KILLFOCUS的响应
virtual BOOL OnHSCrollBar (WPARAM wp, LPARAM lp)
virtual BOOL OnVSCrollBar (WPARAM wp, LPARAM lp)
virtual BOOL OnSetCursor (WPARAM wp, LPARAM lp)
virtual BOOL OnNcHitTest (POINT pt)
virtual BOOL OnMouseMove (WPARAM wp, LPARAM lp)
virtual BOOL OnMouseEnter (WPARAM wp, LPARAM lp)
 在鼠标进入控件时触发
virtual BOOL OnMouseLeave (WPARAM wp, LPARAM lp)
virtual BOOL OnMouseWheel (WPARAM wp, LPARAM lp)
 鼠标滑轮消息
virtual BOOL OnLButtonDown (WPARAM wp, LPARAM lp)
virtual BOOL OnLButtonUp (WPARAM wp, LPARAM lp)
virtual BOOL OnLButtonCliked (WPARAM wp, LPARAM lp)
virtual BOOL OnRButtonDown (WPARAM wp, LPARAM lp)
virtual BOOL OnRButtonUp (WPARAM wp, LPARAM lp)
virtual BOOL OnRButtonCliked (WPARAM wp, LPARAM lp)
virtual BOOL OnKeyDown (WPARAM wp, LPARAM lp)
 键盘消息
virtual BOOL OnKeyUp (WPARAM wp, LPARAM lp)
virtual BOOL OnChar (WPARAM wp, LPARAM lp)
virtual BOOL OnTimerEvent (unsigned int timer_id, UINT msec)
 定时器事件响应
virtual BOOL DoPaintShadow (ISurface *surface, bool is_inset, RECT *rect_update)
virtual BOOL OnPaintControl3D (ISurface *surface, LPRECT rc_update)
virtual BOOL DoPaintBackGround (ISurface *surface, RECT *rect_update)
 绘制背景
virtual BOOL DoPaint (ISurface *surface, RECT *rect_update)
 绘制前景
virtual BOOL DoPaintBorder (ISurface *surface, RECT *rect_update)
 绘制边框
virtual BOOL DoPaintFinished (ISurface *surface, RECT *rect_update)
 绘制结束事件,极少场景需要用到
virtual BOOL DoPaintGL (ISurface *surface, RECT *rect_update)
 绘制GL
virtual BOOL OnDropBegin ()
 鼠标拖拽开始
virtual BOOL OnDropEnd ()
 鼠标拖拽结束
virtual void CloneAttribute (CControlUI *clone)
 克隆属性
int LayoutAdaptWidth (int exp_height) override
 自适应宽度计算
int LayoutAdaptHeight (int exp_width) override
 自适应高度计算
int GetSplitControlOffsetW () override
 获得拆分宽度偏移
int GetSplitControlOffsetH () override
 获得拆分高度偏移
void Layout (int x, int y, int w, int h, UINT flags) override
bool IsVisibleLayout () override
 布局可见性判断
RECT GetPosition () override
 获得布局矩形区域位置
void SetLauoutInfo (ILayout *parent, int w, int h, LayoutMode mw, LayoutMode mh)
void ChangeManager (IManageHandler *manager)
 改变控件的管理对象(将抽象控件改变实际窗口的作用域)。
void DoChangeThemeColors (const BeString &name)
 主题应用
Public 成员函数 继承自 BUI::ICommitTarget
 ICommitTarget ()
virtual ~ICommitTarget ()
virtual void OnSummitTarget (FourCode four_code, LPCTSTR data)
 对象之间传递数据的提交操作
Public 成员函数 继承自 BUI::IControlUI
 IControlUI ()
virtual ~IControlUI ()
Public 成员函数 继承自 BUI::IEventHandler
 IEventHandler ()
virtual ~IEventHandler ()

静态 Public 成员函数

static void ChangeParent (CControlUI *obj_this, CControlUI *parent, CControlUI *prev)
static void ParseShortCutText (const char *text, UINT &virtual_ctrl, UINT &virtual_key)
 解析快捷键
static BeString ConvertShortCutCodeToText (UINT virtual_ctrl, UINT virtual_key)
 快捷键转换为字符串

Public 属性

BeString m_name
UINT m_int_id
IManageHandlerm_manager
CControlUIm_parent
CControlUIm_first_child
CControlUIm_last_child
CControlUIm_next_sibling
CControlUIm_prev_sibling
LinkControl m_link_gc
LinkControl m_link_for_cell
LinkActionNode m_link_moving
LinkPtr m_link_anim
LinkPtr m_link_pop_ui
RECT m_rect_pos
UINT m_blur_size
UBYTE m_visible
 全部为0代表可见 bit0: 表示控件自身的可视状态 bit1: 表示父控件的可视状态 bit2: 表示鼠标进入时才有可视状态
UBYTE m_enable
 全部为0代表可用 bit0 表示控件自身的可用状态 bit1 表示父控件的禁用状态 bit2: nodecell禁用状态
UBYTE m_bk_show_timing
 ShowModel OnNever 从不绘制 OnAlways 一直绘制 OnHighLight 高亮时绘制
UBYTE m_border_show_timing

Protected 成员函数

void UpdateMarginStateFlag ()
 更新margin状态标志位
BOOL SetMouseCursor (CursorMouse id)
 设置系统光标
void ClientToHWNDScreen ()
 将控件坐标转换为窗口下的坐标
void RePlotChildPos ()
void AdjustLayoutControlSize (POINT pt)
 用户调整控件大小
void NotifyChildControlEnableChange (bool is_enable)
 父控件被禁用时,同步更新子控件禁用状态
void NotifyChildControlVisableChange (bool is_show)
 父控件被隐藏时,同步更新子控件隐藏状态

静态 Protected 成员函数

static UBYTE ReturnBitFlag (UBYTE value, UINT bit_pos, BOOL is_enable)

Protected 属性

IEventHandlerm_event_handler
ICommitTargetm_commit_target
BeString m_text
BeString m_name_skin_module
BeString m_name_skin_style
BeString m_capture_save_file
BeString m_text_notes
BeStringA m_script_code
BeStringA m_script_val
Location m_locationinfo
POINT m_point_origin
uint64_t m_flags_ctrl
RECT m_rect_begin_track
RECT m_rect_clip
GFontm_font
CursorMouse m_cursor
UINT m_border_size
PenType m_pen_type
ActionList m_action
ActionTable m_action_map
ActionKeyboardMapm_kb_event
ILayoutm_layout
BeString m_text_min_adapter
CNumberValuem_round_radius
CNumberValuem_margin_on_hover
GBrushArray m_bru_fill
GBrushArray m_bru_stroke
GBrushArray m_bru_text
GShadowContain m_shadow_contain
ShadowInfom_shadow_text
ST_Policy m_sig_policy
syntax_infom_cmd_ast
BeString m_text_poptips
std::shared_ptr< PopControlInfom_pop_ui_info
std::vector< std::shared_ptr< ILayout > > m_absord_uis
std::map< BeString, std::shared_ptr< GAnimateProperty > > m_anim_all
std::shared_ptr< GAnimatePropertyValue< float > > m_anima_fill_opacity
std::shared_ptr< GAnimatePropertyValue< float > > m_anima_stroke_opacity
std::shared_ptr< GAnimatePropertyValue< float > > m_anima_stroke_dash
std::shared_ptr< GAnimatePropertyValue< float > > m_anima_moving
GAnimateTransformVector m_anim_trans
FourCode m_draw_style
UBYTE m_hit_flag
UBYTE m_key_down

详细描述

控件基类

构造及析构函数说明

◆ CControlUI()

BUI::CControlUI::CControlUI ( )

◆ ~CControlUI()

virtual BUI::CControlUI::~CControlUI ( )
virtual

成员函数说明

◆ Activate()

virtual void BUI::CControlUI::Activate ( )
virtual

激活

BUI::CButtonUI, BUI::CCheckBoxUI , 以及 BUI::COptionUI 重载.

◆ AddAbsordLayout()

void BUI::CControlUI::AddAbsordLayout ( std::shared_ptr< ILayout > layout)

添加悬浮布局

◆ AddAnimate()

void BUI::CControlUI::AddAnimate ( const BeString & id,
std::shared_ptr< GAnimateProperty > animate )

添加动画

参数
id:动画id
animate:动画属性

◆ AdjustLayoutControlSize()

void BUI::CControlUI::AdjustLayoutControlSize ( POINT pt)
protected

用户调整控件大小

◆ AnimateTransform()

GAnimateTransformVector & BUI::CControlUI::AnimateTransform ( )

获得动画数组

◆ AutoAdaptSize()

void BUI::CControlUI::AutoAdaptSize ( )

自动计算自适应大小

◆ BackOpacity()

float BUI::CControlUI::BackOpacity ( ) const

背景透明度

◆ BindAction()

void BUI::CControlUI::BindAction ( const std::shared_ptr< IActionNotify > & notify)

绑定事件

◆ BlurSize()

UINT BUI::CControlUI::BlurSize ( ) const

返回高斯模糊尺寸

◆ BorderOpacity()

float BUI::CControlUI::BorderOpacity ( ) const

轮廓边框透明度

◆ BoxLayoutMgr()

virtual ILayout * BUI::CControlUI::BoxLayoutMgr ( )
virtual

容器布局对象

BUI::CContainLayoutUI 重载.

◆ BringBottomMost()

BOOL BUI::CControlUI::BringBottomMost ( )

将控件移动到所有兄弟控件中的第一个

◆ BringTopMost()

BOOL BUI::CControlUI::BringTopMost ( )

将控件移动到所有兄弟控件中的最后一个

◆ ChangeManager()

void BUI::CControlUI::ChangeManager ( IManageHandler * manager)

改变控件的管理对象(将抽象控件改变实际窗口的作用域)。

◆ ChangeParent()

void BUI::CControlUI::ChangeParent ( CControlUI * obj_this,
CControlUI * parent,
CControlUI * prev )
static

◆ ChangeThemeColors()

virtual void BUI::CControlUI::ChangeThemeColors ( )
virtual

切换主题色

BUI::CChartViewUI, BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 重载.

◆ ChangeUIToNodeLink()

void BUI::CControlUI::ChangeUIToNodeLink ( )

将控件控制权,交给Node节点控制

◆ ClearAction()

void BUI::CControlUI::ClearAction ( )

清空事件

◆ ClientToHWNDScreen()

void BUI::CControlUI::ClientToHWNDScreen ( )
protected

将控件坐标转换为窗口下的坐标

◆ Clone()

virtual CControlUI * BUI::CControlUI::Clone ( )
virtual

克隆对象

◆ CloneAttribute()

◆ ConvertShortCutCodeToText()

BeString BUI::CControlUI::ConvertShortCutCodeToText ( UINT virtual_ctrl,
UINT virtual_key )
static

快捷键转换为字符串

◆ Create() [1/2]

BOOL BUI::CControlUI::Create ( IManageHandler * manager,
LPCTSTR name,
LPCTSTR text,
DWORD style,
int x,
int y,
int cx,
int cy,
CControlUI * parent = NULL,
UINT num_id = 0 )

◆ Create() [2/2]

BOOL BUI::CControlUI::Create ( IManageHandler * manager,
LPCTSTR name,
LPCTSTR text,
DWORD style,
RECT rc,
CControlUI * parent = NULL,
UINT id = 0 )

创建虚拟控件:创建过程中,会将控件加入到全局的垃圾管理机制中。用于在程序退出时,释放内存

参数
manager:管理对象 不能为空对象
name:控件的检索标识符号,可用来查找控件
text:控件文本内容
style:控件风格
rc:位置信息
parent:父控件指针
num_id:整型检索ID
返回
BOOL :TRUE 创建成功 FALSE创建失败

◆ DelAbsordLayout()

void BUI::CControlUI::DelAbsordLayout ( std::shared_ptr< ILayout > layout)

删除悬浮布局

◆ DoChangeThemeColors()

void BUI::CControlUI::DoChangeThemeColors ( const BeString & name)

主题应用

◆ DoPaint()

◆ DoPaintBackGround()

virtual BOOL BUI::CControlUI::DoPaintBackGround ( ISurface * surface,
RECT * rect_update )
virtual

◆ DoPaintBorder()

virtual BOOL BUI::CControlUI::DoPaintBorder ( ISurface * surface,
RECT * rect_update )
virtual

◆ DoPaintFinished()

virtual BOOL BUI::CControlUI::DoPaintFinished ( ISurface * surface,
RECT * rect_update )
virtual

绘制结束事件,极少场景需要用到

BUI::CNodeEditorUI 重载.

◆ DoPaintGL()

virtual BOOL BUI::CControlUI::DoPaintGL ( ISurface * surface,
RECT * rect_update )
virtual

绘制GL

BUI::CView3dUI 重载.

◆ DoPaintShadow()

virtual BOOL BUI::CControlUI::DoPaintShadow ( ISurface * surface,
bool is_inset,
RECT * rect_update )
virtual

◆ DoShortCut()

BOOL BUI::CControlUI::DoShortCut ( UBYTE ctrl,
UBYTE virtual_key )

◆ EnableBorderAdjustFlag()

void BUI::CControlUI::EnableBorderAdjustFlag ( UINT align_border = ALIGN_LEFT,
bool is_enable = true )

设置边框调整使能

◆ EnableControl()

void BUI::CControlUI::EnableControl ( bool is_enable,
bool is_refresh = true )

TRUE:启用控件. FALSE:禁用控件

◆ EnableNodeFlagControl()

void BUI::CControlUI::EnableNodeFlagControl ( bool is_enable,
bool is_refresh = true )

nodedata包含的控件。表示node是否被禁用

◆ EnableShortCut()

void BUI::CControlUI::EnableShortCut ( bool is_enable)

开启(或禁用)快捷键

◆ EventHandler()

IEventHandler * BUI::CControlUI::EventHandler ( ) const

获得事件处理对象

◆ FindAllControl()

int BUI::CControlUI::FindAllControl ( std::vector< CControlUI * > & vec,
BOOL is_recursion = TRUE ) const

获得所有子控件

参数
vec
is_recursion是否递归(包含递归的子控件)
返回
int 控件个数

◆ FindAllControlByName()

int BUI::CControlUI::FindAllControlByName ( std::vector< CControlUI * > & vec,
LPCTSTR str_name,
BOOL is_recursion = TRUE ) const

在当前控件之下查找所有同名控件

参数
str_name
vec
is_recursion是否递归(包含递归的子控件)
返回
int 控件个数

◆ FindChildControlByHandler()

int BUI::CControlUI::FindChildControlByHandler ( std::vector< CControlUI * > & vec,
IEventHandler * handler )

查找(通过控件的SetEventHandler()指定的事件处理对象来寻找)

参数
handler
vec
返回
int

◆ FindControlByName()

CControlUI * BUI::CControlUI::FindControlByName ( LPCTSTR str_name,
BOOL is_recursion = TRUE ) const

在当前控件之下查找控件

◆ FindTabFocusControl()

CControlUI * BUI::CControlUI::FindTabFocusControl ( BOOL is_next) const

获得接下来的焦点控件

◆ FirstChild()

CControlUI * BUI::CControlUI::FirstChild ( ) const

第一个孩子节点

◆ GetActionKeyboard()

ActionKeyboardMap * BUI::CControlUI::GetActionKeyboard ( BOOL is_create = TRUE)

获得键盘事件表

参数
is_create:若为TRUE,返回值为非空,函数会自动创建。指针不需要用户释放。控件销毁时会自动释放 若为FALSE,返回当前键盘事件表。返回值为NULL时,表示没有任何事件
返回
ActionKeyboardMap*

◆ GetActionTable()

ActionTable & BUI::CControlUI::GetActionTable ( )

获得鼠标事件映射表

◆ GetAttchLayout()

ILayout * BUI::CControlUI::GetAttchLayout ( ) const

获得管理控件自身的布局对象

◆ GetAttributeNames()

◆ GetClientPoint()

POINT BUI::CControlUI::GetClientPoint ( double percent_width,
double percent_height )

获得控件坐标系下百分比的绝对位置

◆ GetControlClientRect()

RECT BUI::CControlUI::GetControlClientRect ( ) const

返回基于客户区的坐标

◆ GetControlColorsStyle()

GBrushArray BUI::CControlUI::GetControlColorsStyle ( ColorSceneType type)

获取颜色外观

◆ GetControlFlags()

uint64_t BUI::CControlUI::GetControlFlags ( ) const

◆ GetControlNotes()

BeString BUI::CControlUI::GetControlNotes ( ) const

获得控件的注释信息

◆ GetControlRect()

RECT BUI::CControlUI::GetControlRect ( ) const

获得控件在窗口坐标下的矩形区域

◆ GetControlScreenRect()

RECT BUI::CControlUI::GetControlScreenRect ( ) const

返回基于屏幕的坐标

◆ GetControlText()

virtual BeString BUI::CControlUI::GetControlText ( )
virtual

BUI::CDateUI , 以及 BUI::CListBoxUI 重载.

◆ GetControlTextNumber()

double BUI::CControlUI::GetControlTextNumber ( ) const

获得文本表示的数值

◆ GetControlValueText()

virtual void BUI::CControlUI::GetControlValueText ( BasicStringBuffer & buffer)
virtual

获得控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作

BUI::CButtonSwitchImageUI, BUI::CCheckBoxUI, BUI::CComboBaseUI, BUI::CDateTimeUI, BUI::CEditGPSLocationUI, BUI::CEditTextUI, BUI::CListBoxUI, BUI::COptionUI, BUI::CProgressBarUI , 以及 BUI::CSliderUI 重载.

◆ GetDragPos()

void BUI::CControlUI::GetDragPos ( RECT * rc) const

窗口拖拽的原始位置

◆ GetFont()

GFont * BUI::CControlUI::GetFont ( ) const

获得字体

◆ GetLayoutViewRect()

virtual void BUI::CControlUI::GetLayoutViewRect ( RECT * rc)
virtual

◆ GetManagerUI()

IManageHandler * BUI::CControlUI::GetManagerUI ( ) const

返回管理器对象

◆ GetMarginAreaRect()

RECT BUI::CControlUI::GetMarginAreaRect ( BOOL contain_shadow = FALSE) const

获得外边距下的相对于窗口的矩形区域

◆ GetOppositePosition()

RECT BUI::CControlUI::GetOppositePosition ( RECT rc_contain,
RECT rc_child,
BOOL is_intersect = TRUE ) const

返回rc_child相对rc_contain坐标系的位置

◆ GetPaintStatus()

ShowStatus BUI::CControlUI::GetPaintStatus ( bool ignore_left_button = true) const

获得控件状态

◆ GetParent()

CControlUI * BUI::CControlUI::GetParent ( ) const

获得父窗口

◆ GetParentOnTopMost()

CControlUI * BUI::CControlUI::GetParentOnTopMost ( ) const

获得最顶层父窗口

◆ GetParentViewPoint()

POINT BUI::CControlUI::GetParentViewPoint ( float xp,
float yp,
BOOL is_client = FALSE ) const

获得父控件内的绝对位置坐标

参数
xp百分比参数
yp百分比参数
is_clientTRUE表示基于客户区坐标,FALSE:基于窗口全局坐标
返回
POINT: 基于窗口的绝对坐标

◆ GetPosition()

RECT BUI::CControlUI::GetPosition ( )
overridevirtual

获得布局矩形区域位置

重载 BUI::IControlUI .

◆ GetRectInScreen()

void BUI::CControlUI::GetRectInScreen ( LPRECT rc)

获得在HWND中的绝对位置

◆ GetRelationship()

◆ GetRoundRadius()

void BUI::CControlUI::GetRoundRadius ( RoundRectRadius & ra) const

◆ GetRoundRadiusWithRect()

void BUI::CControlUI::GetRoundRadiusWithRect ( const RECT & rc,
RoundRectRadius & ra ) const

◆ GetShadowContain()

GShadowContain & BUI::CControlUI::GetShadowContain ( )

获得阴影容器对象

◆ GetSignalPolicy()

ST_Policy * BUI::CControlUI::GetSignalPolicy ( )

信号和槽机制的回收器

◆ GetSkinModule()

void BUI::CControlUI::GetSkinModule ( BeStringShort64 & module_name)

◆ GetSkinStyle()

void BUI::CControlUI::GetSkinStyle ( BeStringShort64 & style_name)

◆ GetSplitControlOffsetH()

int BUI::CControlUI::GetSplitControlOffsetH ( )
overridevirtual

获得拆分高度偏移

重载 BUI::IControlUI .

BUI::CSplitBarUI 重载.

◆ GetSplitControlOffsetW()

int BUI::CControlUI::GetSplitControlOffsetW ( )
overridevirtual

获得拆分宽度偏移

重载 BUI::IControlUI .

BUI::CSplitBarUI 重载.

◆ GetStringSize()

SIZE BUI::CControlUI::GetStringSize ( LPCTSTR str) const

获得字符串尺寸

◆ GetViewParentRect()

RECT BUI::CControlUI::GetViewParentRect ( float cx,
float cy,
float w,
float h ) const

获得父控件内的位置坐标

参数
cx百分比参数
cy百分比参数
w百分比参数
h百分比参数

◆ GetViewPoint()

POINT BUI::CControlUI::GetViewPoint ( float xp,
float yp,
BOOL is_client = FALSE ) const

获得控件内的绝对位置坐标

参数
xp百分比参数
yp百分比参数
is_clientTRUE表示基于客户区坐标,FALSE:基于窗口全局坐标
返回
POINT: 基于窗口的绝对坐标

◆ Height()

int BUI::CControlUI::Height ( ) const

获得控件高度

◆ HitTest()

virtual BOOL BUI::CControlUI::HitTest ( POINT pt)
virtual

点击测试

BUI::CButtonPolygonUI, BUI::CEditFrameUI , 以及 BUI::CLineArrowUI 重载.

◆ HitTestChildControl()

CControlUI * BUI::CControlUI::HitTestChildControl ( POINT pt,
BOOL is_recursive = TRUE ) const

定位到子控件对象

◆ HitTestControl()

virtual CControlUI * BUI::CControlUI::HitTestControl ( POINT pt)
virtual

根据位置得到最终的定位控件

BUI::CContainTitleUI, BUI::CListBoxUI, BUI::CScrollBarUI, BUI::CTableViewUI, BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 重载.

◆ HitTestPopUI()

BOOL BUI::CControlUI::HitTestPopUI ( POINT pt)

是否命中弹出控件

◆ InsertChild()

void BUI::CControlUI::InsertChild ( CControlUI * current,
CControlUI * prev )

插入子控件

参数
current:待插入的子控件UI
ppRev:子控件的上一个兄弟节点

◆ IsBkShowTiming()

BOOL BUI::CControlUI::IsBkShowTiming ( ) const

◆ IsCreateSucceed()

BOOL BUI::CControlUI::IsCreateSucceed ( ) const

判断是否是有效控件

◆ IsDrawStyleWithFourCode()

BOOL BUI::CControlUI::IsDrawStyleWithFourCode ( TCHAR a = '\0',
TCHAR b = '\0',
TCHAR c = '\0',
TCHAR d = '\0' ) const

判断是否匹配四字符数

◆ IsEnabled()

BOOL BUI::CControlUI::IsEnabled ( ) const

判断是否可用。TRUE:代表可用

◆ IsFocused()

BOOL BUI::CControlUI::IsFocused ( ) const

焦点状态

◆ IsHasControlFlags()

uint64_t BUI::CControlUI::IsHasControlFlags ( uint64_t flags) const

◆ IsShortCutVaild()

BOOL BUI::CControlUI::IsShortCutVaild ( )

判断是否存在快捷键

◆ IsVisible()

BOOL BUI::CControlUI::IsVisible ( ) const

控件在父控件中的显示状态

◆ IsVisibleLayout()

bool BUI::CControlUI::IsVisibleLayout ( )
overridevirtual

布局可见性判断

重载 BUI::IControlUI .

◆ LastChild()

CControlUI * BUI::CControlUI::LastChild ( ) const

最后的孩子节点

◆ Layout()

void BUI::CControlUI::Layout ( int x,
int y,
int w,
int h,
UINT flags )
overridevirtual

重载 BUI::IControlUI .

◆ LayoutAdaptHeight()

int BUI::CControlUI::LayoutAdaptHeight ( int exp_width)
overridevirtual

◆ LayoutAdaptWidth()

int BUI::CControlUI::LayoutAdaptWidth ( int exp_height)
overridevirtual

◆ ModifyControlFlags()

void BUI::CControlUI::ModifyControlFlags ( uint64_t style,
UINT op = ADD_FLAGS )

设置控件风格

参数
styleControlFlag组合值
opADD_FLAGS(添加属性) REMOVE_FLAGS(删除属性)

◆ MoveCenterByPercent()

void BUI::CControlUI::MoveCenterByPercent ( RECT * rc_view,
float scale_x = 0.5,
float scale_y = 0.5,
int w = 0,
int h = 0,
BOOL adapt_dpi = FALSE,
BOOL is_refresh = TRUE )

将控件移动到以(scale_x, scale_y)百分比的中心点

参数
rc_view视区位置信息
scale_x,scale_y控件中心坐标
w,h控件尺寸,为0时保持当前大小
adapt_dpi自动适应dpi缩放
is_refresh需要刷新重绘

◆ MoveControl() [1/2]

BOOL BUI::CControlUI::MoveControl ( int x,
int y,
int w,
int h,
BOOL is_refresh = TRUE )

移动控件位置。(x,y)代表父控件坐标空间值

◆ MoveControl() [2/2]

BOOL BUI::CControlUI::MoveControl ( RECT rect,
BOOL is_refresh = TRUE )

移动控件到目标矩形区域

参数
rect:目标矩形区域。坐标系是相对于父控件的坐标
is_refresh: 若bRepaint=TRUE,表示需要重绘。若bRepaint=TRUE,表示不需要重绘。

◆ MoveControlAnimate()

void BUI::CControlUI::MoveControlAnimate ( RECT rc_start,
RECT rc_end,
BOOL is_show,
int animate_duration = 300 )

以动画模式移动

参数
rc_start动画开始区域
rc_end: 动画结束区域
is_show: 动画结束后控件显示状态
animate_duration: 动画时长,时间单位为毫秒

◆ MoveDragControl()

void BUI::CControlUI::MoveDragControl ( int dx,
int dy,
BOOL is_refresh = TRUE )

拖拽移动。(dx,dy)移动距离向量

◆ NextFocusControl()

CControlUI * BUI::CControlUI::NextFocusControl ( BOOL is_prev = FALSE) const

下一个焦点控件

◆ NextSibling()

CControlUI * BUI::CControlUI::NextSibling ( ) const

下一个兄弟节点

◆ NotifyChildControlEnableChange()

void BUI::CControlUI::NotifyChildControlEnableChange ( bool is_enable)
protected

父控件被禁用时,同步更新子控件禁用状态

◆ NotifyChildControlVisableChange()

void BUI::CControlUI::NotifyChildControlVisableChange ( bool is_show)
protected

父控件被隐藏时,同步更新子控件隐藏状态

◆ NotifyMangerIsDestory()

void BUI::CControlUI::NotifyMangerIsDestory ( )

告知管理者已销毁

◆ OnChar()

◆ OnControlSize()

◆ OnCreate()

◆ OnCtrlKillFocus()

virtual void BUI::CControlUI::OnCtrlKillFocus ( )
virtual

◆ OnCtrlSetFocus()

virtual void BUI::CControlUI::OnCtrlSetFocus ( )
virtual

ui控件获得焦点

BUI::CComboBaseUI, BUI::CEditRichUI , 以及 BUI::CEditTextUI 重载.

◆ OnDestory()

void BUI::CControlUI::OnDestory ( )

控件销毁

◆ OnDropBegin()

virtual BOOL BUI::CControlUI::OnDropBegin ( )
virtual

鼠标拖拽开始

◆ OnDropEnd()

virtual BOOL BUI::CControlUI::OnDropEnd ( )
virtual

鼠标拖拽结束

◆ OnFontChange()

virtual void BUI::CControlUI::OnFontChange ( )
virtual

字体更改

BUI::CChatEditUI, BUI::CEditRichUI , 以及 BUI::CEditTextUI 重载.

◆ OnHSCrollBar()

virtual BOOL BUI::CControlUI::OnHSCrollBar ( WPARAM wp,
LPARAM lp )
virtual

BUI::CContainerUI , 以及 BUI::CScrollAreaUI 重载.

◆ OnKeyDown()

◆ OnKeyUp()

virtual BOOL BUI::CControlUI::OnKeyUp ( WPARAM wp,
LPARAM lp )
virtual

◆ OnKillFocus()

virtual BOOL BUI::CControlUI::OnKillFocus ( WPARAM wp,
LPARAM lp )
virtual

当管理的句柄HWND失去焦点时 进入此函数,也就是此函数实际上是窗口 MSG_WND_KILLFOCUS的响应

◆ OnLButtonCliked()

◆ OnLButtonDown()

◆ OnLButtonUp()

◆ OnLoadConfigSetting()

virtual void BUI::CControlUI::OnLoadConfigSetting ( XMLItem * node)
virtual

加载控件属性

BUI::CEditTextUI , 以及 BUI::CListBoxUI 重载.

◆ OnMessageHandler()

◆ OnMouseEnter()

virtual BOOL BUI::CControlUI::OnMouseEnter ( WPARAM wp,
LPARAM lp )
virtual

在鼠标进入控件时触发

BUI::CScrollAreaUI 重载.

◆ OnMouseLeave()

◆ OnMouseMove()

◆ OnMouseWheel()

virtual BOOL BUI::CControlUI::OnMouseWheel ( WPARAM wp,
LPARAM lp )
virtual

鼠标滑轮消息

BUI::CEditRichUI , 以及 BUI::CScrollAreaUI 重载.

◆ OnNcHitTest()

◆ OnPaintControl()

BOOL BUI::CControlUI::OnPaintControl ( ISurface * surface,
LPRECT rc_update = NULL,
LPRECT rc_parent_view = NULL )

控件渲染

参数
surface: 绘图引擎
rc_update: 裁剪可视区域.当设置为NULL时,表示刷新整个控件区域
rc_parent_view: 父控件的可视裁剪区域

◆ OnPaintControl3D()

virtual BOOL BUI::CControlUI::OnPaintControl3D ( ISurface * surface,
LPRECT rc_update )
virtual

◆ OnParseAnimate()

virtual void BUI::CControlUI::OnParseAnimate ( XMLItem * node)
virtual

解析控件动画对象

◆ OnParseItemData()

◆ OnRButtonCliked()

virtual BOOL BUI::CControlUI::OnRButtonCliked ( WPARAM wp,
LPARAM lp )
virtual

BUI::CListBoxUI 重载.

◆ OnRButtonDown()

virtual BOOL BUI::CControlUI::OnRButtonDown ( WPARAM wp,
LPARAM lp )
virtual

◆ OnRButtonUp()

virtual BOOL BUI::CControlUI::OnRButtonUp ( WPARAM wp,
LPARAM lp )
virtual

◆ OnSaveConfigSetting()

virtual void BUI::CControlUI::OnSaveConfigSetting ( XMLItem * node)
virtual

保存控件属性到全局配置文件

BUI::CEditTextUI , 以及 BUI::CListBoxUI 重载.

◆ OnSetCursor()

virtual BOOL BUI::CControlUI::OnSetCursor ( WPARAM wp,
LPARAM lp )
virtual

◆ OnShow()

virtual void BUI::CControlUI::OnShow ( bool is_show)
virtual

◆ OnTimerEvent()

virtual BOOL BUI::CControlUI::OnTimerEvent ( unsigned int timer_id,
UINT msec )
virtual

定时器事件响应

◆ OnVSCrollBar()

virtual BOOL BUI::CControlUI::OnVSCrollBar ( WPARAM wp,
LPARAM lp )
virtual

◆ Parent()

CControlUI * BUI::CControlUI::Parent ( ) const

父控件

◆ ParseShortCutText()

void BUI::CControlUI::ParseShortCutText ( const char * text,
UINT & virtual_ctrl,
UINT & virtual_key )
static

解析快捷键

◆ PauseAnimate()

void BUI::CControlUI::PauseAnimate ( BOOL is_pause)

动画使能:暂停(TRUE)或开启(FALSE)

◆ PopTipUI()

void BUI::CControlUI::PopTipUI ( BOOL is_show)

展示pop状态

◆ PopupAtMousePosition()

void BUI::CControlUI::PopupAtMousePosition ( int dx,
int dy,
int w,
int h,
BOOL adapt_dpi = FALSE,
BOOL is_refresh = TRUE )

在鼠标位置出弹出控件

参数
dx基于鼠标的偏移量(X)
dy基于鼠标的偏移量(Y)
w宽度
h高度
adapt_dpi自动适应dpi缩放
is_refresh需要刷新重绘

◆ PopupPosition()

void BUI::CControlUI::PopupPosition ( int x,
int y,
int dx,
int dy,
UINT align )

◆ PrevSibling()

CControlUI * BUI::CControlUI::PrevSibling ( ) const

上一个兄弟节点

◆ Refresh()

void BUI::CControlUI::Refresh ( BOOL is_sync = FALSE)

窗口失效重绘

◆ RefreshRect()

void BUI::CControlUI::RefreshRect ( RECT * rc_update)

窗口失效重绘

◆ RefreshThreadSafe()

void BUI::CControlUI::RefreshThreadSafe ( )

在gui线程之外时调安全的刷新函数

◆ ReleaseCaptureCtl()

void BUI::CControlUI::ReleaseCaptureCtl ( )

释放焦点捕获

◆ RemoveChild()

BOOL BUI::CControlUI::RemoveChild ( CControlUI * child)

删除子控件

◆ RePlotChildPos()

void BUI::CControlUI::RePlotChildPos ( )
protected

◆ ResetLayoutChilds()

void BUI::CControlUI::ResetLayoutChilds ( UINT flags = 0)

重置子布局

◆ ReturnBitFlag()

UBYTE BUI::CControlUI::ReturnBitFlag ( UBYTE value,
UINT bit_pos,
BOOL is_enable )
staticprotected

◆ SaveAsImage()

int BUI::CControlUI::SaveAsImage ( LPCTSTR out_png)

保存控件图像为png

◆ SaveAsLongImage()

int BUI::CControlUI::SaveAsLongImage ( LPCTSTR out_png)

保存为长图

◆ SaveSettingConfig()

void BUI::CControlUI::SaveSettingConfig ( )

保存配置

◆ Scroll()

void BUI::CControlUI::Scroll ( int x,
int y )

视区的坐标原点偏移

◆ SendParentMessage()

BOOL BUI::CControlUI::SendParentMessage ( UINT message,
WPARAM wp,
LPARAM lp ) const

◆ SendToAllChilds()

void BUI::CControlUI::SendToAllChilds ( UINT message,
WPARAM wp,
LPARAM lp )

将消息传递给每一个子控件响应

◆ SendToManager()

BOOL BUI::CControlUI::SendToManager ( UINT message,
WPARAM wp = 0,
LPARAM lp = 0 )

◆ SetAdaptMinText()

void BUI::CControlUI::SetAdaptMinText ( const BeString & str)

布局最小适应文本

◆ SetBkShowTiming()

void BUI::CControlUI::SetBkShowTiming ( ShowModel mode)

背景绘制时机

◆ SetBlurSize()

void BUI::CControlUI::SetBlurSize ( UINT size)

设置高斯模糊尺寸

参数
size模糊半径

◆ SetBorderShowTiming()

void BUI::CControlUI::SetBorderShowTiming ( ShowModel mode)

边框绘制时机

◆ SetCaptureCtl()

void BUI::CControlUI::SetCaptureCtl ( )

捕获鼠标

◆ SetClipZoom()

void BUI::CControlUI::SetClipZoom ( int x,
int y,
int w,
int h )

设置控件可视裁剪区域。约束控件的显示区域

◆ SetCommitTarget()

void BUI::CControlUI::SetCommitTarget ( ICommitTarget * obj)

设置数据提交对象

◆ SetControlColorsStyle()

void BUI::CControlUI::SetControlColorsStyle ( ColorSceneType type,
GBrushArray colors )

设置颜色外观

◆ SetControlMouseCursor()

void BUI::CControlUI::SetControlMouseCursor ( CursorMouse id)

设置控件的鼠标光标

◆ SetControlNotes()

void BUI::CControlUI::SetControlNotes ( const BeString & str)

设置控件注释信息

◆ SetControlText()

void BUI::CControlUI::SetControlText ( BeString str,
BOOL is_refresh = FALSE )

设置文本

◆ SetControlTextByNumber()

void BUI::CControlUI::SetControlTextByNumber ( double value,
int precision,
BOOL remoe_last_zero )

以数值设置文本

参数
value: 值
precision: 小数点后的精度
remoe_last_zero: 是否去除小数点后0后缀

◆ SetControlValueText()

virtual void BUI::CControlUI::SetControlValueText ( const BeString & str)
virtual

设置控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作

BUI::CButtonSwitchImageUI, BUI::CCheckBoxUI, BUI::CComboBaseUI, BUI::CDateTimeUI, BUI::CEditGPSLocationUI, BUI::CEditSpinBoxUI, BUI::CEditTextUI , 以及 BUI::CListBoxUI 重载.

◆ SetDrawStyleWithFourCode()

void BUI::CControlUI::SetDrawStyleWithFourCode ( LPCTSTR draw_style)

设置控件绘制的风格样式,同一种控件的表现样式可以有多种。 输入值只有前四位字符有效。一个控件表现形式在实际中不会很多。不用整形的目的是增强可读性

参数
draw_style类型由四个ASCII字符的组合。

◆ SetEventHandler()

void BUI::CControlUI::SetEventHandler ( IEventHandler * hander)

设置事件处理对象

◆ SetFocus()

void BUI::CControlUI::SetFocus ( )

取得焦点 和HWND焦点不要混淆 ,这是不一样的东西,只是函数名称我为了好记住

◆ SetFont()

void BUI::CControlUI::SetFont ( GFont * font)

设置字体

◆ SetFontSize()

void BUI::CControlUI::SetFontSize ( int height)

设置字体大小

◆ SetHeight()

void BUI::CControlUI::SetHeight ( int h)

设置控件高度

◆ SetLauoutInfo()

void BUI::CControlUI::SetLauoutInfo ( ILayout * parent,
int w,
int h,
LayoutMode mw,
LayoutMode mh )

◆ SetMouseCursor()

BOOL BUI::CControlUI::SetMouseCursor ( CursorMouse id)
protected

设置系统光标

◆ SetParent()

void BUI::CControlUI::SetParent ( CControlUI * parent)

设置父控件

◆ SetPopTipUI()

void BUI::CControlUI::SetPopTipUI ( const std::shared_ptr< PopControlInfo > & pop_info)

设置弹出pop显示ui

◆ SetPositionX()

void BUI::CControlUI::SetPositionX ( int x)

设置控件x坐标

◆ SetPositionXY()

void BUI::CControlUI::SetPositionXY ( int x,
int y )

设置控件(x,y)坐标

◆ SetPositionY()

void BUI::CControlUI::SetPositionY ( int y)

设置控件y坐标

◆ SetRoundRadiusValues()

void BUI::CControlUI::SetRoundRadiusValues ( const CNumberValue radius[8])

设置矩形圆角

◆ SetShadowText()

void BUI::CControlUI::SetShadowText ( int dx,
int dy,
int blur_x,
int blur_y,
const GColor & color )

设置文本阴影

◆ SetShortCut()

void BUI::CControlUI::SetShortCut ( int virtual_key)

◆ SetShortCutCtrlCode()

void BUI::CControlUI::SetShortCutCtrlCode ( UBYTE virtual_key)

◆ SetSkinModule()

void BUI::CControlUI::SetSkinModule ( const BeString & skin_group)

设置皮肤id

◆ SetSkinStyle()

void BUI::CControlUI::SetSkinStyle ( const BeString & skin_name)

设置皮肤id

◆ SetStrokeSize()

void BUI::CControlUI::SetStrokeSize ( UINT size)

设置轮廓线宽

◆ SetToolTipText() [1/2]

void BUI::CControlUI::SetToolTipText ( const BeString & tip_str)

设置提示文本

◆ SetToolTipText() [2/2]

void BUI::CControlUI::SetToolTipText ( LPCTSTR tip_text)

设置提示文本

◆ SetVarName()

void BUI::CControlUI::SetVarName ( const BeString & str)

设置控件唯一标识符

◆ SetVarNameA()

void BUI::CControlUI::SetVarNameA ( const char * var_name)

设置控件唯一标识符

◆ SetVarNameW()

void BUI::CControlUI::SetVarNameW ( const WCHAR * varname)

设置控件唯一标识符

◆ SetVisibleWhenMouseHover()

void BUI::CControlUI::SetVisibleWhenMouseHover ( BOOL open)

设置只在鼠标悬停时,显示控件

◆ SetWidth()

void BUI::CControlUI::SetWidth ( int w)

设置控件宽度

◆ ShellAttribute()

virtual void BUI::CControlUI::ShellAttribute ( const BeString & str_name,
const BeString & str_value )
virtual

命令控制和属性设置接口

szName属性 szText语法格式
text
设置控件文本
text="按钮"
note
设置控件注释信息
note="这是一个用于控制XXX的按钮"
fill
背景颜色
fill="normal:0x343434;light:rgb(20,20,20,255);selected:hsv(25,100,100,255);disable:#343434"
fill-text
文本颜色
fill-text="normal:0x343434;light:rgb(20,20,20,255);selected:hsv(25,100,100,255);disable:#343434"
stroke
边框颜色
stroke="normal:0x343434;light:rgb(20,20,20,255);selected:hsv(25,100,100,255);disable:#343434"
stroke-size
边框画笔大小
stroke-size="2"
border-radius
控件圆角(和CSS格式一致)
border-radius="10"
border-radius="rx:10;ry:10"
font
设置字体
font="name"
blur-size
高斯模糊尺寸
blur-size="30"
border-show
边框显示属性
取值 never:不显示, always:显示, highlight:鼠标悬停时显示, focus:控件获得焦点时显示
back-show
背景显示属性
取值 never:不显示, always:显示, highlight:鼠标悬停时显示, focus:控件获得焦点时显示
shadow
阴影特效
shadow="dx,dy,blur_x,blur_y,spread_x,spread_y,colo,inset" shadow="3,3, 2,2, 0,0, rgb(0,0,0,100),inset;3,3, 2,2, 0,0,rgb(0,0,0,100),inset"
visible
可见性
取值 true/false
enable
可用性/禁用状态
取值 true/false
tooltip
提示文本
tooltip="这是一段鼠标悬停时的提示文本内容"
num_id
控件整数ID
num_id="101"
skin-id
皮肤唯一标识符,查找皮肤时的关键key
skin-id="skin_white"
cursor
光标
取值:arrow,ibeam,hand,wait,cross,uparrow,size,icon,sizenwse,sizenesw,sizewe,sizens,sizeall,no
accesskey
响应快捷键
accesskey="ctrl+B"
refresh
刷新控件
true/false
margin-hot
热点时的边缘膨胀尺寸
margin="2,2,2,2" 左上右下的顺序
control-flags
功能标志位
"-"前缀代表删除属性
如 control-flags="AllowFocusWhenClick,-SupportTabKey"
StaticState :静态控件,不响应键盘和鼠标
AllowFocusWhenClick :用户单击时可控件获取焦点
AllowCaptureMouseWhenClick :用户左键时,捕获鼠标
SupportTabKey :支持tab获得焦点
AutoSeatLayout :自动占位布局
ShowMarginOnCaptureMouse :鼠标悬停时,显示边缘膨胀特效
ShowMarginOnFocus :获得焦点时,显示边缘膨胀特效
RoundRadiusDrawLine :控件圆角
RoundRadiusParl: 控件Parl四边形
HideWndWhenClick :单击时隐藏窗口
forcelayout:控件尺寸变化时,强制重新计算布局位置
use-par-color-fg : 控件前景颜色,使用父控件的
use-par-color-border : 控件边框颜色,使用父控件的
use-par-color-text : 控件文本颜色,使用父控件的
DisableTheme :禁用主题颜色
ZOverSpeedup :控件多到影响性能时启用
启用后会用算法计算控件的遮盖信息,快速定位
StorageUserSetting :自动存储控件内容到全局配置文件
FixedOnView : 控件坐标原点改变时,此控件固定不变
OnlyMoveInParent : 仅在父控件视窗下移动
TopMostWhenClick : 点击容器或者容器内的子控件时,将自己置顶。
datafile
数据文件
datafile="文件路径"

BUI::CAutoMoveContainUI, BUI::CBinaryBoxUI, BUI::CButtonImageUI, BUI::CButtonMenuUI, BUI::CButtonNodeUI, BUI::CButtonPolygonUI, BUI::CButtonSVGUI, BUI::CButtonSwitchImageUI, BUI::CButtonSysUI, BUI::CButtonTextureUI, BUI::CButtonUI, BUI::CChartViewUI, BUI::CChatEditUI, BUI::CCheckBoxUI, BUI::CColorBarUI, BUI::CColorPickerUI, BUI::CComboBaseUI, BUI::CComboColorPickerUI, BUI::CComboDateRangeUI, BUI::CComboDateUI, BUI::CComboListUI, BUI::CContainerUI, BUI::CContainLayoutUI, BUI::CContainMenuUI, BUI::CContainOptionUI, BUI::CContainScrollSyncUI, BUI::CContainTabUI, BUI::CContainTitleUI, BUI::CDateTimeUI, BUI::CDateUI, BUI::CDigitLcdUI, BUI::CEditCombinationUI, BUI::CEditFrameUI, BUI::CEditGPSLocationUI, BUI::CEditIPAddressUI, BUI::CEditKeyBoardUI, BUI::CEditRichUI, BUI::CEditSpinBoxUI, BUI::CEditTextUI, BUI::CGIFViewUI, BUI::CImageViewListUI, BUI::CImageViewUI, BUI::CIndicatorLightUI, BUI::CLabelMultiStyleUI, BUI::CLabelUI, BUI::CLayoutArrowContainUI, BUI::CLineArrowUI, BUI::CLineUI, BUI::CListBoxUI, BUI::CLottieUI, BUI::CNodeEditorUI, BUI::COptionUI, BUI::CPaginationUI, BUI::CPopControlUI, BUI::CProgressBarUI, BUI::CScrollAreaUI, BUI::CScrollBarUI, BUI::CSliderUI, BUI::CSplitBarUI, BUI::CStaticMarkUI, BUI::CTableViewUI, BUI::CTreeListUI, BUI::CTreeTableViewUI , 以及 BUI::CView3dUI 重载.

◆ ShellAttributeToChildControl()

BOOL BUI::CControlUI::ShellAttributeToChildControl ( const BeString & child_name,
const BeString & str_name,
const BeString & str_value )

◆ ShowControl()

void BUI::CControlUI::ShowControl ( bool is_show,
bool notify_layout = true )

显示虚拟窗口

◆ StrokeDashOffset()

float BUI::CControlUI::StrokeDashOffset ( ) const

Dash偏移

◆ TestOrder()

BOOL BUI::CControlUI::TestOrder ( ) const

判断是否被其他控件遮盖 TRUE 代表遮盖

◆ Text()

LPCTSTR BUI::CControlUI::Text ( ) const

获得文本

◆ TipHide()

void BUI::CControlUI::TipHide ( )

隐藏提示框

◆ TipTrack()

void BUI::CControlUI::TipTrack ( int x,
int y,
LPCTSTR text = NULL )

提示框显示位置 x, y 是相对窗口

◆ TranslateSyncMsg()

BOOL BUI::CControlUI::TranslateSyncMsg ( UINT message,
WPARAM wp,
LPARAM lp )

向上层转发同步消息

◆ TriggerAction()

void BUI::CControlUI::TriggerAction ( )

触发事件

◆ TriggerScript()

void BUI::CControlUI::TriggerScript ( )

执行脚本事件

◆ UpdateAdaptLayout()

void BUI::CControlUI::UpdateAdaptLayout ( ) const

更新adapt布局

◆ UpdateMarginStateFlag()

void BUI::CControlUI::UpdateMarginStateFlag ( )
protected

更新margin状态标志位

◆ ViewOrigin()

virtual POINT BUI::CControlUI::ViewOrigin ( ) const
virtual

坐标原点偏移量

重载 BUI::IControlUI .

◆ Width()

int BUI::CControlUI::Width ( ) const

获得控件宽度

类成员变量说明

◆ m_absord_uis

std::vector<std::shared_ptr<ILayout> > BUI::CControlUI::m_absord_uis
protected

◆ m_action

ActionList BUI::CControlUI::m_action
protected

◆ m_action_map

ActionTable BUI::CControlUI::m_action_map
protected

◆ m_anim_all

std::map<BeString, std::shared_ptr<GAnimateProperty> > BUI::CControlUI::m_anim_all
protected

◆ m_anim_trans

GAnimateTransformVector BUI::CControlUI::m_anim_trans
protected

◆ m_anima_fill_opacity

std::shared_ptr<GAnimatePropertyValue<float> > BUI::CControlUI::m_anima_fill_opacity
protected

◆ m_anima_moving

std::shared_ptr<GAnimatePropertyValue<float> > BUI::CControlUI::m_anima_moving
protected

◆ m_anima_stroke_dash

std::shared_ptr<GAnimatePropertyValue<float> > BUI::CControlUI::m_anima_stroke_dash
protected

◆ m_anima_stroke_opacity

std::shared_ptr<GAnimatePropertyValue<float> > BUI::CControlUI::m_anima_stroke_opacity
protected

◆ m_bk_show_timing

UBYTE BUI::CControlUI::m_bk_show_timing

ShowModel OnNever 从不绘制 OnAlways 一直绘制 OnHighLight 高亮时绘制

◆ m_blur_size

UINT BUI::CControlUI::m_blur_size

◆ m_border_show_timing

UBYTE BUI::CControlUI::m_border_show_timing

◆ m_border_size

UINT BUI::CControlUI::m_border_size
protected

◆ m_bru_fill

GBrushArray BUI::CControlUI::m_bru_fill
protected

◆ m_bru_stroke

GBrushArray BUI::CControlUI::m_bru_stroke
protected

◆ m_bru_text

GBrushArray BUI::CControlUI::m_bru_text
protected

◆ m_capture_save_file

BeString BUI::CControlUI::m_capture_save_file
protected

◆ m_cmd_ast

syntax_info* BUI::CControlUI::m_cmd_ast
protected

◆ m_commit_target

ICommitTarget* BUI::CControlUI::m_commit_target
protected

◆ m_cursor

CursorMouse BUI::CControlUI::m_cursor
protected

◆ m_draw_style

FourCode BUI::CControlUI::m_draw_style
protected

◆ m_enable

UBYTE BUI::CControlUI::m_enable

全部为0代表可用 bit0 表示控件自身的可用状态 bit1 表示父控件的禁用状态 bit2: nodecell禁用状态

◆ m_event_handler

IEventHandler* BUI::CControlUI::m_event_handler
protected

◆ m_first_child

CControlUI* BUI::CControlUI::m_first_child

◆ m_flags_ctrl

uint64_t BUI::CControlUI::m_flags_ctrl
protected

◆ m_font

GFont* BUI::CControlUI::m_font
protected

◆ m_hit_flag

UBYTE BUI::CControlUI::m_hit_flag
protected

◆ m_int_id

UINT BUI::CControlUI::m_int_id

◆ m_kb_event

ActionKeyboardMap* BUI::CControlUI::m_kb_event
protected

◆ m_key_down

UBYTE BUI::CControlUI::m_key_down
protected

◆ m_last_child

CControlUI* BUI::CControlUI::m_last_child

◆ m_layout

ILayout* BUI::CControlUI::m_layout
protected

◆ m_link_anim

LinkPtr BUI::CControlUI::m_link_anim

◆ m_link_for_cell

LinkControl BUI::CControlUI::m_link_for_cell

◆ m_link_gc

LinkControl BUI::CControlUI::m_link_gc

◆ m_link_moving

LinkActionNode BUI::CControlUI::m_link_moving

◆ m_link_pop_ui

LinkPtr BUI::CControlUI::m_link_pop_ui

◆ m_locationinfo

Location BUI::CControlUI::m_locationinfo
protected

◆ m_manager

IManageHandler* BUI::CControlUI::m_manager

◆ m_margin_on_hover

CNumberValue* BUI::CControlUI::m_margin_on_hover
protected

◆ m_name

BeString BUI::CControlUI::m_name

◆ m_name_skin_module

BeString BUI::CControlUI::m_name_skin_module
protected

◆ m_name_skin_style

BeString BUI::CControlUI::m_name_skin_style
protected

◆ m_next_sibling

CControlUI* BUI::CControlUI::m_next_sibling

◆ m_parent

CControlUI* BUI::CControlUI::m_parent

◆ m_pen_type

PenType BUI::CControlUI::m_pen_type
protected

◆ m_point_origin

POINT BUI::CControlUI::m_point_origin
protected

◆ m_pop_ui_info

std::shared_ptr<PopControlInfo> BUI::CControlUI::m_pop_ui_info
protected

◆ m_prev_sibling

CControlUI* BUI::CControlUI::m_prev_sibling

◆ m_rect_begin_track

RECT BUI::CControlUI::m_rect_begin_track
protected

◆ m_rect_clip

RECT BUI::CControlUI::m_rect_clip
protected

◆ m_rect_pos

RECT BUI::CControlUI::m_rect_pos

◆ m_round_radius

CNumberValue* BUI::CControlUI::m_round_radius
protected

◆ m_script_code

BeStringA BUI::CControlUI::m_script_code
protected

◆ m_script_val

BeStringA BUI::CControlUI::m_script_val
protected

◆ m_shadow_contain

GShadowContain BUI::CControlUI::m_shadow_contain
protected

◆ m_shadow_text

ShadowInfo* BUI::CControlUI::m_shadow_text
protected

◆ m_sig_policy

ST_Policy BUI::CControlUI::m_sig_policy
protected

◆ m_text

BeString BUI::CControlUI::m_text
protected

◆ m_text_min_adapter

BeString BUI::CControlUI::m_text_min_adapter
protected

◆ m_text_notes

BeString BUI::CControlUI::m_text_notes
protected

◆ m_text_poptips

BeString BUI::CControlUI::m_text_poptips
protected

◆ m_visible

UBYTE BUI::CControlUI::m_visible

全部为0代表可见 bit0: 表示控件自身的可视状态 bit1: 表示父控件的可视状态 bit2: 表示鼠标进入时才有可视状态

鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有