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

控件UI管理器,负责消息转发和定位 更多...

类 BUI::UIManager 继承关系图:

Public 成员函数

 UIManager ()
virtual ~UIManager ()
UINT InitPlatformAdapter (const std::shared_ptr< IAdapterPlatform > &adapter)
 安装平台适配器(adapter)
IAdapterPlatformGetAdapterPlatform () const
 获得平台适配器
void SetHideWhenKillFocus (bool hide)
 失去焦点时,隐藏窗口
BOOL DestoryManger ()
 释放管理对象占用的资源
UINT DoModal ()
 模态化
void TipHide ()
 隐藏tips弹出框
void TipTrack (int x, int y, LPCTSTR text=NULL)
 提示框显示位置 x, y 是相对窗口
void RebuildControls ()
 重建manger上的所有控件
void AppendTabFocusControl (CControlUI *ui_tab_focus)
 将控件追加到到Tab list
void RemoveTabFocusControl (CControlUI *ui_focus)
 将控件删除Tab list
void ChangeTabFocusControl (CControlUI *ui_prev, CControlUI *ui_tab_focus)
 变更Tab 顺序
BOOL RegisterUIControl (CControlUI *ui)
 注册控件到管理类中
BOOL LogoffUIControl (CControlUI *ui)
 注销控件到管理类中
BOOL RegisterShortCutControl (CControlUI *ui)
 快捷键控件注册到管理类中
BOOL LogoffShortCutControl (CControlUI *ui)
 快捷键控件注销到管理类中
SIZE GetRootControlSize () const
 获得第一个控件的尺寸
void UpdateLayout ()
 更新布局
void OnShowWindow (bool is_show)
 窗口显示状态
BOOL OnDrawControls (ISurface *surface, RECT *rc_vaild)
 绘制所有管理的UI控件
BOOL GetAnimRefreshRect (RECT *rc)
 获得动画渲染刷新区域
BOOL OnRender ()
 实时渲染
BOOL DrawBgControls (ISurface *surface, RECT *rc_vaild, CControlUI *ui_end)
void SetCanvasBuffer (GImage *canvas, RECT *rc_area)
 缓存画面
void NeedUpdate (RECT *rc, BOOL is_sync) override
 更新区域
BOOL BringTopMost (CControlUI *ui)
 控件的Z-Order最高优先级
BOOL BringBottomMost (CControlUI *ui)
 控件的Z-Order最低优先级
CControlUISetFocusUI (CControlUI *ui_focus)
 指定控件获得输入焦点
CControlUIFindContrlByID (UINT num_id)
 查找控件,通过ID
CControlUIFindContrlByPoint (POINT pt)
 查找控件,通过鼠标点
CControlUIFindContrlByClassName (LPCTSTR ctrl_name)
 查找控件,通过标识符文本
CControlUIFindContrlByClassNameA (const char *ctrl_name)
 查找控件,通过标识符文本
CControlUIHitTestControl (POINT pt)
 鼠标命中控件测试
CControlUIPopModalControl ()
 弹出模态阻塞的控件
void SetDockHandler (IDockHandler *dock_mgr) override
ILayoutLayoutBox () override
void ClientPointToScreen (POINT *pt) override
void ScreenPointToClient (POINT *pt) override
BOOL IsWindowFullMax () override
BOOL SendMsg (UINT message, WPARAM wp, LPARAM lp) override
 同步消息
BOOL PostMsg (UINT message, WPARAM wp, LPARAM lp) override
 异步消息
BOOL ToFocusHandler (UINT message, WPARAM wp, LPARAM lp) override
 发送到焦点控件
BOOL ToHotHandler (UINT message, WPARAM wp, LPARAM lp) override
 发送到热点控件
BOOL OnMessageHandler (UINT message, WPARAM wp, LPARAM lp) override
 消息处理过程
void ModifyManagerFlags (UINT style, UINT op=ADD_FLAGS) override
 设置控件扩展风格
UINT IsHasManagerFlags (UINT flags) override
UINT GetManagerFlags () override
UINT GetMouseKeyModifier () override
SIZE GetManagerWndSize () override
void GetCursorGloablPos (POINT *pt) override
void AddActionNode (LinkActionNode *obj) override
 添加任务节点,也可以是动画任务
Public 成员函数 继承自 BUI::IManageHandler
 IManageHandler ()
virtual ~IManageHandler ()
Public 成员函数 继承自 BUI::IEventHandler
 IEventHandler ()
virtual ~IEventHandler ()

静态 Public 成员函数

static void DoRealRender ()
 实时渲染
static void SetRealRenderIdleTime (float ms)
 设置实时渲染空闲等待时长
static float GetRealRenderIdleTime ()
 获取实时渲染空闲等待时长
static void SetIldeAction (void(*ilde_func)())
 设置空闲响应动作
static int GetFPS ()
 获得渲染速度帧率

Protected 属性

std::shared_ptr< IAdapterPlatformm_platform
std::vector< CControlUI * > m_vec_top_ctrl
std::vector< CControlUI * > m_vec_keybord
std::vector< CControlUI * > m_statck_popui
std::list< CControlUI * > m_list_tab_focus
LinkPtr m_head_animate
LinkPtr m_head_pop_ui
LinkActionNode m_head_action
char m_name_id [16]
CLayoutBox m_layout_box
CControlUIm_ctrl_hover
CControlUIm_ctrl_focus
CControlUIm_ctrl_mouse_capture
CControlUIm_ctrl_tip_box
CControlUIm_ctrl_pop
IDockHandlerm_dock
UINT m_flags_ex
int m_blur_size
CursorMouse m_current_cursor
ImageDrawInfom_temp_dc
UINT m_temp_type
CControlUIm_temp_ui
GColor m_bk_color
RECT m_rect_async [2]
int m_async_flag [2]
std::atomic< int > m_async_cur
std::atomic< int > m_async_buf
std::atomic< int > m_async_cur_running
GImagem_cache_img
RECT m_rect_cache
LinkPtr m_link_mgr
AtomicLock m_node_running
RECT m_rc_update
POINT m_drag_pt
RECT m_drag_rc
SIZE m_init_size
BOOL m_is_can_move
bool m_is_hide_when_kill_focus
bool m_is_mouse_capture
bool m_is_mouse_drop
bool m_is_cleaning
UINT m_key_modifs

详细描述

控件UI管理器,负责消息转发和定位

构造及析构函数说明

◆ UIManager()

BUI::UIManager::UIManager ( )

◆ ~UIManager()

virtual BUI::UIManager::~UIManager ( )
virtual

成员函数说明

◆ AddActionNode()

void BUI::UIManager::AddActionNode ( LinkActionNode * obj)
overridevirtual

添加任务节点,也可以是动画任务

实现了 BUI::IManageHandler.

◆ AppendTabFocusControl()

void BUI::UIManager::AppendTabFocusControl ( CControlUI * ui_tab_focus)

将控件追加到到Tab list

◆ BringBottomMost()

BOOL BUI::UIManager::BringBottomMost ( CControlUI * ui)

控件的Z-Order最低优先级

◆ BringTopMost()

BOOL BUI::UIManager::BringTopMost ( CControlUI * ui)

控件的Z-Order最高优先级

◆ ChangeTabFocusControl()

void BUI::UIManager::ChangeTabFocusControl ( CControlUI * ui_prev,
CControlUI * ui_tab_focus )

变更Tab 顺序

◆ ClientPointToScreen()

void BUI::UIManager::ClientPointToScreen ( POINT * pt)
overridevirtual

实现了 BUI::IManageHandler.

◆ DestoryManger()

BOOL BUI::UIManager::DestoryManger ( )

释放管理对象占用的资源

◆ DoModal()

UINT BUI::UIManager::DoModal ( )

模态化

◆ DoRealRender()

void BUI::UIManager::DoRealRender ( )
static

实时渲染

◆ DrawBgControls()

BOOL BUI::UIManager::DrawBgControls ( ISurface * surface,
RECT * rc_vaild,
CControlUI * ui_end )

◆ FindContrlByClassName()

CControlUI * BUI::UIManager::FindContrlByClassName ( LPCTSTR ctrl_name)

查找控件,通过标识符文本

◆ FindContrlByClassNameA()

CControlUI * BUI::UIManager::FindContrlByClassNameA ( const char * ctrl_name)

查找控件,通过标识符文本

◆ FindContrlByID()

CControlUI * BUI::UIManager::FindContrlByID ( UINT num_id)

查找控件,通过ID

◆ FindContrlByPoint()

CControlUI * BUI::UIManager::FindContrlByPoint ( POINT pt)

查找控件,通过鼠标点

◆ GetAdapterPlatform()

IAdapterPlatform * BUI::UIManager::GetAdapterPlatform ( ) const

获得平台适配器

◆ GetAnimRefreshRect()

BOOL BUI::UIManager::GetAnimRefreshRect ( RECT * rc)

获得动画渲染刷新区域

◆ GetCursorGloablPos()

void BUI::UIManager::GetCursorGloablPos ( POINT * pt)
overridevirtual

实现了 BUI::IManageHandler.

◆ GetFPS()

int BUI::UIManager::GetFPS ( )
static

获得渲染速度帧率

◆ GetManagerFlags()

UINT BUI::UIManager::GetManagerFlags ( )
overridevirtual

实现了 BUI::IManageHandler.

◆ GetManagerWndSize()

SIZE BUI::UIManager::GetManagerWndSize ( )
overridevirtual

实现了 BUI::IManageHandler.

◆ GetMouseKeyModifier()

UINT BUI::UIManager::GetMouseKeyModifier ( )
overridevirtual

实现了 BUI::IManageHandler.

◆ GetRealRenderIdleTime()

float BUI::UIManager::GetRealRenderIdleTime ( )
static

获取实时渲染空闲等待时长

◆ GetRootControlSize()

SIZE BUI::UIManager::GetRootControlSize ( ) const

获得第一个控件的尺寸

◆ HitTestControl()

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

鼠标命中控件测试

◆ InitPlatformAdapter()

UINT BUI::UIManager::InitPlatformAdapter ( const std::shared_ptr< IAdapterPlatform > & adapter)

安装平台适配器(adapter)

◆ IsHasManagerFlags()

UINT BUI::UIManager::IsHasManagerFlags ( UINT flags)
overridevirtual

实现了 BUI::IManageHandler.

◆ IsWindowFullMax()

BOOL BUI::UIManager::IsWindowFullMax ( )
overridevirtual

实现了 BUI::IManageHandler.

◆ LayoutBox()

ILayout * BUI::UIManager::LayoutBox ( )
overridevirtual

实现了 BUI::IManageHandler.

◆ LogoffShortCutControl()

BOOL BUI::UIManager::LogoffShortCutControl ( CControlUI * ui)

快捷键控件注销到管理类中

◆ LogoffUIControl()

BOOL BUI::UIManager::LogoffUIControl ( CControlUI * ui)

注销控件到管理类中

◆ ModifyManagerFlags()

void BUI::UIManager::ModifyManagerFlags ( UINT style,
UINT op = ADD_FLAGS )
overridevirtual

设置控件扩展风格

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

实现了 BUI::IManageHandler.

◆ NeedUpdate()

void BUI::UIManager::NeedUpdate ( RECT * rc,
BOOL is_sync )
overridevirtual

更新区域

实现了 BUI::IManageHandler.

◆ OnDrawControls()

BOOL BUI::UIManager::OnDrawControls ( ISurface * surface,
RECT * rc_vaild )

绘制所有管理的UI控件

参数
surface: 绘图接口
rc_vaild刷新的矩形区域
返回
BOOL: 保留。无意义

◆ OnMessageHandler()

BOOL BUI::UIManager::OnMessageHandler ( UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

消息处理过程

重载 BUI::IEventHandler .

BUI::UIManagerPopDropdown , 以及 BUI::UIPopupMenuManager 重载.

◆ OnRender()

BOOL BUI::UIManager::OnRender ( )

实时渲染

◆ OnShowWindow()

void BUI::UIManager::OnShowWindow ( bool is_show)

窗口显示状态

◆ PopModalControl()

CControlUI * BUI::UIManager::PopModalControl ( )

弹出模态阻塞的控件

◆ PostMsg()

BOOL BUI::UIManager::PostMsg ( UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

异步消息

实现了 BUI::IManageHandler.

◆ RebuildControls()

void BUI::UIManager::RebuildControls ( )

重建manger上的所有控件

◆ RegisterShortCutControl()

BOOL BUI::UIManager::RegisterShortCutControl ( CControlUI * ui)

快捷键控件注册到管理类中

◆ RegisterUIControl()

BOOL BUI::UIManager::RegisterUIControl ( CControlUI * ui)

注册控件到管理类中

◆ RemoveTabFocusControl()

void BUI::UIManager::RemoveTabFocusControl ( CControlUI * ui_focus)

将控件删除Tab list

◆ ScreenPointToClient()

void BUI::UIManager::ScreenPointToClient ( POINT * pt)
overridevirtual

实现了 BUI::IManageHandler.

◆ SendMsg()

BOOL BUI::UIManager::SendMsg ( UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

同步消息

实现了 BUI::IManageHandler.

◆ SetCanvasBuffer()

void BUI::UIManager::SetCanvasBuffer ( GImage * canvas,
RECT * rc_area )

缓存画面

◆ SetDockHandler()

void BUI::UIManager::SetDockHandler ( IDockHandler * dock_mgr)
overridevirtual

实现了 BUI::IManageHandler.

◆ SetFocusUI()

CControlUI * BUI::UIManager::SetFocusUI ( CControlUI * ui_focus)

指定控件获得输入焦点

◆ SetHideWhenKillFocus()

void BUI::UIManager::SetHideWhenKillFocus ( bool hide)

失去焦点时,隐藏窗口

◆ SetIldeAction()

void BUI::UIManager::SetIldeAction ( void(* ilde_func )())
static

设置空闲响应动作

◆ SetRealRenderIdleTime()

void BUI::UIManager::SetRealRenderIdleTime ( float ms)
static

设置实时渲染空闲等待时长

◆ TipHide()

void BUI::UIManager::TipHide ( )

隐藏tips弹出框

◆ TipTrack()

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

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

◆ ToFocusHandler()

BOOL BUI::UIManager::ToFocusHandler ( UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

发送到焦点控件

实现了 BUI::IManageHandler.

◆ ToHotHandler()

BOOL BUI::UIManager::ToHotHandler ( UINT message,
WPARAM wp,
LPARAM lp )
overridevirtual

发送到热点控件

实现了 BUI::IManageHandler.

◆ UpdateLayout()

void BUI::UIManager::UpdateLayout ( )

更新布局

类成员变量说明

◆ m_async_buf

std::atomic<int> BUI::UIManager::m_async_buf
protected

◆ m_async_cur

std::atomic<int> BUI::UIManager::m_async_cur
protected

◆ m_async_cur_running

std::atomic<int> BUI::UIManager::m_async_cur_running
protected

◆ m_async_flag

int BUI::UIManager::m_async_flag[2]
protected

◆ m_bk_color

GColor BUI::UIManager::m_bk_color
protected

◆ m_blur_size

int BUI::UIManager::m_blur_size
protected

◆ m_cache_img

GImage* BUI::UIManager::m_cache_img
protected

◆ m_ctrl_focus

CControlUI* BUI::UIManager::m_ctrl_focus
protected

◆ m_ctrl_hover

CControlUI* BUI::UIManager::m_ctrl_hover
protected

◆ m_ctrl_mouse_capture

CControlUI* BUI::UIManager::m_ctrl_mouse_capture
protected

◆ m_ctrl_pop

CControlUI* BUI::UIManager::m_ctrl_pop
protected

◆ m_ctrl_tip_box

CControlUI* BUI::UIManager::m_ctrl_tip_box
protected

◆ m_current_cursor

CursorMouse BUI::UIManager::m_current_cursor
protected

◆ m_dock

IDockHandler* BUI::UIManager::m_dock
protected

◆ m_drag_pt

POINT BUI::UIManager::m_drag_pt
protected

◆ m_drag_rc

RECT BUI::UIManager::m_drag_rc
protected

◆ m_flags_ex

UINT BUI::UIManager::m_flags_ex
protected

◆ m_head_action

LinkActionNode BUI::UIManager::m_head_action
protected

◆ m_head_animate

LinkPtr BUI::UIManager::m_head_animate
protected

◆ m_head_pop_ui

LinkPtr BUI::UIManager::m_head_pop_ui
protected

◆ m_init_size

SIZE BUI::UIManager::m_init_size
protected

◆ m_is_can_move

BOOL BUI::UIManager::m_is_can_move
protected

◆ m_is_cleaning

bool BUI::UIManager::m_is_cleaning
protected

◆ m_is_hide_when_kill_focus

bool BUI::UIManager::m_is_hide_when_kill_focus
protected

◆ m_is_mouse_capture

bool BUI::UIManager::m_is_mouse_capture
protected

◆ m_is_mouse_drop

bool BUI::UIManager::m_is_mouse_drop
protected

◆ m_key_modifs

UINT BUI::UIManager::m_key_modifs
protected

◆ m_layout_box

CLayoutBox BUI::UIManager::m_layout_box
protected

◆ m_link_mgr

LinkPtr BUI::UIManager::m_link_mgr
protected

◆ m_list_tab_focus

std::list<CControlUI*> BUI::UIManager::m_list_tab_focus
protected

◆ m_name_id

char BUI::UIManager::m_name_id[16]
protected

◆ m_node_running

AtomicLock BUI::UIManager::m_node_running
protected

◆ m_platform

std::shared_ptr<IAdapterPlatform> BUI::UIManager::m_platform
protected

◆ m_rc_update

RECT BUI::UIManager::m_rc_update
protected

◆ m_rect_async

RECT BUI::UIManager::m_rect_async[2]
protected

◆ m_rect_cache

RECT BUI::UIManager::m_rect_cache
protected

◆ m_statck_popui

std::vector<CControlUI*> BUI::UIManager::m_statck_popui
protected

◆ m_temp_dc

ImageDrawInfo* BUI::UIManager::m_temp_dc
protected

◆ m_temp_type

UINT BUI::UIManager::m_temp_type
protected

◆ m_temp_ui

CControlUI* BUI::UIManager::m_temp_ui
protected

◆ m_vec_keybord

std::vector<CControlUI*> BUI::UIManager::m_vec_keybord
protected

◆ m_vec_top_ctrl

std::vector<CControlUI*> BUI::UIManager::m_vec_top_ctrl
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有