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

下拉控件基类,下拉弹出窗口采用单例模式。减少对窗口资源的消耗 更多...

+ 类 BUI::CComboBaseUI 继承关系图:

Public 成员函数

 CComboBaseUI ()
 
 ~CComboBaseUI ()
 
CNodeDataGetCurselNodeData () const
 
void SetDropMinWidth (int width)
 
void SelectChange ()
 
void EnableTextDisplay (BOOL bText)
 
BOOL OnMessageHandler (UINT message, WPARAM wParam, LPARAM lParam) override
 
void OnCreate () override
 产生时间是窗口创建之后显示之前
 
void OnShow (bool show) override
 
void OnCtrlKillFocus () override
 ui控件失去焦点
 
void OnCtrlSetFocus () override
 ui控件获得焦点
 
BOOL OnMouseMove (WPARAM wParam, LPARAM lParam) override
 
BOOL OnMouseLeave (WPARAM wParam, LPARAM lParam) override
 
BOOL OnLButtonDown (WPARAM wParam, LPARAM lParam) override
 
BOOL OnLButtonUp (WPARAM wParam, LPARAM lParam) override
 
BOOL DoPaint (ISurface *pSurface, RECT *lpUpdate) override
 绘制前景
 
void ShellAttribute (const BeString &szName, const BeString &szText) override
 命令控制和属性设置接口
 
void GetControlValueText (BasicStringBuffer &buffer) override
 获得控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
 
void SetControlValueText (const BeString &str) override
 设置控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
 
void OnSummitTarget (FourCode four_code, LPCTSTR data) override
 对象之间传递数据的提交操作
 
BOOL SendToPopWidgetMessage (UINT message, WPARAM wParam, LPARAM lParam)
 向下拉窗口发送消息
 
virtual CControlUIOnCreateDropUI (IManageHandler *pManager)
 创建下拉响应控件
 
- Public 成员函数 继承自 BUI::CEditTextUI
 CEditTextUI ()
 
 ~CEditTextUI ()
 
void SetEditText (LPCTSTR str, BOOL bRefresh=FALSE)
 
void GetEditText (BeString &str, BOOL full_name=FALSE)
 获取输入文本
 
bool InsertChars (int pos, const TCHAR *str, int count, BOOL bClear=FALSE)
 
void Clear (BOOL bRefresh=TRUE)
 
double GetNumber () const
 
void SetNumber (double value, BOOL noTrigger=FALSE, BOOL bRefresh=TRUE)
 
void SelectSessionAll (BOOL isSelect, BOOL bRefresh)
 
RECT GetEditClient ()
 
void SetTextHead (const BeString &str, const GColor &color, GImageIconInfo *img=NULL, GFont *font=NULL)
 
void SetTextTail (const BeString &str, const GColor &color, GImageIconInfo *img=NULL, GFont *font=NULL)
 
void AddHeadNodeData (std::shared_ptr< CNodeData > node, BOOL clear=FALSE)
 
void AddTailNodeData (std::shared_ptr< CNodeData > node, BOOL clear=FALSE)
 
void SetEditClientWidthMode (SizeMode nWidMode, int width)
 
BOOL MoveChars (int i)
 
void MoveCurLast ()
 
bool DestoryCaretCursor ()
 
void SaveCurrentRollBack ()
 
void DoRollBack ()
 
void SetBackgroundProgressValue (float p)
 
void SetControlValueText (const BeString &str) override
 设置控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
 
void OnControlSize () override
 控件尺寸改变时触发
 
void OnShow (bool bShow) override
 
void OnCtrlKillFocus () override
 ui控件失去焦点
 
void OnCtrlSetFocus () override
 ui控件获得焦点
 
void OnFontChange () override
 字体更改
 
void GetControlValueText (BasicStringBuffer &buffer) override
 获得控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
 
void ChangeThemeColors () override
 切换主题色
 
BOOL OnLButtonDown (WPARAM wParam, LPARAM lParam) override
 
BOOL OnLButtonUp (WPARAM wParam, LPARAM lParam) override
 
BOOL OnLButtonCliked (WPARAM wParam, LPARAM lParam) override
 
BOOL OnKeyDown (WPARAM wParam, LPARAM lParam) override
 键盘消息
 
BOOL OnChar (WPARAM wParam, LPARAM lParam) override
 
BOOL OnMouseMove (WPARAM wParam, LPARAM lParam) override
 
void OnSaveConfigSetting (XMLItem *node) override
 保存控件属性到全局配置文件
 
void OnLoadConfigSetting (XMLItem *node) override
 加载控件属性
 
BOOL OnMessageHandler (UINT message, WPARAM wParam, LPARAM lParam) override
 虚拟控件最终消息处理过程
 
BOOL DoPaintBackGround (ISurface *pSurface, RECT *lpUpdate) override
 绘制背景
 
BOOL DoPaint (ISurface *pSurface, RECT *lpUpdate) override
 绘制前景
 
void ShellAttribute (const BeString &szName, const BeString &szText) override
 命令控制和属性设置接口
 
int LayoutAdaptWidth (int expH) override
 
int LayoutAdaptHeight (int expW) override
 
BOOL GetRectTextView (RECT &rc) override
 
void UpdateIMEPosition (bool show) override
 
- Public 成员函数 继承自 BUI::CControlUI
 CControlUI ()
 
virtual ~CControlUI ()
 
BOOL Create (IManageHandler *pManger, LPCTSTR strObjName, LPCTSTR strText, DWORD style, RECT rc, CControlUI *parent=NULL, UINT nID=0)
 创建虚拟控件:创建过程中,会将控件加入到全局的垃圾管理机制中。用于在程序退出时,释放内存
 
BOOL Create (IManageHandler *pManger, LPCTSTR strObjName, LPCTSTR strText, DWORD style, int x, int y, int cx, int cy, CControlUI *pPar=NULL, UINT nID=0)
 
void InsertChild (CControlUI *pNewChild, CControlUI *pPrev)
 插入子控件
 
BOOL RemoveChild (CControlUI *pChild)
 
BOOL SendParentMessage (UINT message, WPARAM wParam, LPARAM lParam) const
 
BOOL SendToManager (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void SendToAllChilds (UINT message, WPARAM wParam, LPARAM lParam)
 将消息传递给每一个子控件响应
 
void SetEventHandler (IEventHandler *hander)
 设置消息托管
 
void SetParent (CControlUI *pParent)
 设置父控件
 
CControlUIParent () const
 父控件
 
CControlUIFirstChild () const
 第一个孩子节点
 
CControlUILastChild () const
 最后的孩子节点
 
CControlUINextSibling () const
 下一个兄弟节点
 
CControlUIPrevSibling () const
 上一个兄弟节点
 
CControlUIDelegaterPrev () const
 托管链表前向指针
 
CControlUIDelegaterNext () const
 托管链表后向指针
 
void AddAnimate (const BeString &id, std::shared_ptr< GAnimateProperty > animate)
 
void PauseAnimate (BOOL pause)
 
GAnimateTransformVectorAnimateTransform ()
 
void ModifyControlFlags (uint64_t style, UINT op=ADD_FLAGS)
 设置控件风格
 
uint64_t IsHasControlFlags (uint64_t flags) const
 
uint64_t GetControlFlags () const
 
void SetControlNotes (BeString str)
 设置控件注释信息
 
BeString GetControlNotes () const
 获得控件的注释信息
 
LPCTSTR Text () const
 
void SetControlText (BeString str, BOOL bRefresh=FALSE)
 设置文本
 
void SetControlTextByNumber (double value, int nPrecision, BOOL remoe_last_zero)
 以数值设置文本
 
double GetControlTextNumber () const
 获得文本表示的数值
 
void SetAdaptMinText (BeString str)
 布局最小适应文本
 
void SetVarName (const BeString &str)
 
void SetVarNameA (const char *varname)
 
void SetVarNameW (const WCHAR *varname)
 
void SetCommitTarget (ICommitTarget *obj)
 设置数据提交对象
 
void AddAbsordLayout (std::shared_ptr< ILayout > layout)
 
void DelAbsordLayout (std::shared_ptr< ILayout > layout)
 
GBrushArray GetControlColorsStyle (ColorSceneType type)
 获取颜色外观
 
void SetControlColorsStyle (ColorSceneType type, GBrushArray colors)
 设置颜色外观
 
void SetAttributeSaveNode (XMLItem *node)
 设置属性保存节点
 
XMLItemGetAttributeSaveNode () const
 获得属性保存节点
 
void DoSaveAttributeToNode ()
 保存控件属性到(SetSaveNode(node))注册的节点
 
void SetShadowText (int dx, int dy, int blur_x, int blur_y, GColor color)
 设置文本阴影
 
void SetBorderRoundFlags (int pos, int flags)
 
void SetBorderRoundSize (RoundRectRadius &radius)
 
void GetRoundRadius (RoundRectRadius &ra) const
 
void GetRoundRadiusWithRect (const RECT &rc, RoundRectRadius &ra) const
 
GShadowContainGetShadowContain ()
 获得阴影容器对象
 
GFontGetFont () const
 
void SetFont (GFont *font)
 设置字体
 
void SetFontSize (int nHeight)
 设置字体大小
 
void SetBorderSize (UINT size)
 
void SetPositionX (int x)
 
void SetPositionY (int y)
 
void SetPositionXY (int x, int y)
 
int SaveAsImage (LPCTSTR outpng)
 保存控件图像为png
 
int SaveAsLongImage (LPCTSTR outpng)
 保存为长图
 
int Width () const
 
void SetWidth (int w)
 
int Height () const
 
void SetHeight (int h)
 
void BindAction (std::shared_ptr< IActionNotify > notify)
 绑定事件
 
void ClearAction ()
 清空事件
 
void TriggerAction ()
 触发事件
 
void SetCaptureCtl ()
 捕获鼠标
 
void ReleaseCaptureCtl ()
 
void BreakAwayUITree ()
 脱离父控件树
 
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 lpSz=NULL)
 提示框显示位置 x, y 是相对窗口
 
void TipHide ()
 
void ShowControl (bool bShow, bool notify_layout=true)
 显示虚拟窗口
 
void SetVisibleWhenMouseHover (BOOL open)
 设置只在鼠标悬停时,显示控件
 
BOOL IsVisible () const
 控件在父控件中的显示状态
 
BOOL IsFocused () const
 焦点状态
 
void EnableControl (bool bEnable, bool refresh=true)
 TRUE:启用控件. FALSE:禁用控件
 
void EnableNodeFlagControl (bool bEnable, bool refresh=true)
 nodedata包含的控件。表示node是否被禁用
 
BOOL IsEnabled () const
 TRUE 代表可用
 
BOOL IsBkShowTiming () const
 
void SetBkShowTiming (ShowModel mode)
 背景绘制时机
 
void SetBorderShowTiming (ShowModel mode)
 边框绘制时机
 
BOOL IsCreateSucceed () const
 是否是成功的对象 true创建成功
 
BOOL IsShortCutVaild ()
 
void EnableShortCut (bool benable)
 
void SetShortCut (int vKey)
 
void SetShortCutCtrlCode (UBYTE vKey)
 
BOOL DoShortCut (UBYTE ctrl, UBYTE vKey)
 
void EnableBorderAdjustFlag (UINT alignborder=ALIGN_LEFT, bool bEnable=true)
 设置边框调整使能
 
void SetToolTipText (LPCTSTR lpszTip)
 设置提示文本
 
void SetToolTipText (BeString strTip)
 
void SetPopTipUI (std::shared_ptr< CControlUI > popui, std::shared_ptr< PopControlInfo > popinfo)
 设置弹出pop显示ui
 
void PopTipUI (BOOL bShow)
 展示pop状态
 
BOOL HitTestPopUI (POINT pt)
 是否命中弹出控件
 
void GetRectInScreen (LPRECT lpRect)
 获得在HWND中的绝对位置
 
void SetControlMouseCursor (CursorMouse id)
 
void SetFocus ()
 取得焦点 和HWND焦点不要混淆 ,这是不一样的东西,只是函数名称我为了好记住
 
void Scroll (int x, int y)
 视区的坐标原点偏移
 
void Refresh (BOOL bSynch=FALSE)
 窗口失效重绘
 
void RefreshThreadSafe ()
 在gui线程之外时调安全的刷新函数
 
void RefreshRect (RECT *lprcUpdate)
 窗口失效重绘
 
void GetDragPos (RECT *lprect) const
 窗口拖拽的原始位置
 
void OnDestory ()
 控件销毁
 
void UpdateAdaptLayout () const
 更新adapt布局
 
BOOL MoveControl (RECT rect, BOOL bRepaint=TRUE)
 
BOOL MoveControl (int x, int y, int w, int h, BOOL bRepaint=TRUE)
 移动控件位置。(x,y)代表父控件坐标空间值
 
void MoveDragControl (int dx, int dy, BOOL bRepaint=TRUE)
 拖拽移动。(dx,dy)移动距离向量
 
void MoveCenterByPercent (RECT *rcView, float xScale=0.5, float yScale=0.5, int w=0, int h=0, BOOL adapt_dpi=FALSE, BOOL bRepaint=TRUE)
 将控件移动到以(xScale, yScale)百分比的中心点
 
void ResetLayoutChilds (UINT flags=0)
 重置子布局
 
void SetSkinModule (BeString &skinGroup)
 设置皮肤id
 
void SetSkinStyle (BeString &skinName)
 设置皮肤id
 
void SetDrawStyleWithFourCode (LPCTSTR draw_style)
 设置控件绘制的风格样式,同一种控件的表现样式可以有多种。 输入值只有前四位字符有效。一个控件表现形式在实际中不会很多。不用整形的目的是增强可读性
 
BOOL IsDrawStyleWithFourCode (TCHAR a='\0', TCHAR b='\0', TCHAR c='\0', TCHAR d='\0') const
 
void GetSkinModule (BeStringShort64 &moduleName)
 
void GetSkinStyle (BeStringShort64 &styleName)
 
RECT GetControlRect () const
 
RECT GetControlClientRect () const
 返回基于客户区的坐标
 
RECT GetControlScreenRect () const
 返回基于屏幕的坐标
 
RECT GetOppositePosition (RECT rcContainer, RECT rcChild) const
 返回rcChild相对rcrcContainer坐标系的位置
 
SIZE GetStringSize (LPCTSTR str) const
 获得字符串尺寸
 
POINT ViewOrigin () const
 坐标原点偏移量
 
ILayoutGetAttchLayout () const
 获得管理控件自身的布局对象
 
ShowStatus GetPaintStatus (bool ignoreLButton=true) const
 获得控件状态
 
POINT GetClientPoint (double w_percent, double h_percent)
 获得控件坐标系下百分比的绝对位置
 
void InsertGCChain (CControlUI *prev, CControlUI *next)
 
void DeleteGCChain (CControlUI *prev, CControlUI *next)
 
CControlUIFindTabFocusControl (BOOL isNext) const
 获得接下来的焦点控件
 
void NotifyMangerIsDestory ()
 告知管理者已销毁
 
IManageHandlerGetManagerUI () const
 
ST_PolicyGetSignalPolicy ()
 
BOOL TranslateSyncMsg (UINT message, WPARAM wParam, LPARAM lParam)
 向上层转发同步消息
 
BOOL OnMessageHandler (UINT message, WPARAM wParam, LPARAM lParam) override
 虚拟控件最终消息处理过程
 
int FindChildControlByHandler (std::vector< CControlUI * > &vec, IEventHandler *handler)
 查找(通过控件的SetEventHandler()指定的事件处理对象来寻找)
 
int FindAllControlByName (std::vector< CControlUI * > &vec, LPCTSTR szName, BOOL isRecursiveCall=TRUE) const
 在当前控件之下查找所有同名控件
 
int FindAllControl (std::vector< CControlUI * > &vec, BOOL isRecursiveCall=TRUE) const
 获得所有子控件
 
CControlUIFindControlByName (LPCTSTR szName, BOOL isRecursiveCall=TRUE) const
 在当前控件之下查找控件
 
CControlUIGetParent () const
 获得父窗口
 
CControlUIGetParentOnTopMost () const
 获得最顶层父窗口
 
CControlUIHitTestChildControl (POINT pt) const
 定位到子控件对象
 
CControlUINextFocusControl (BOOL isPrev=FALSE) const
 
RECT GetMarginAreaRect (BOOL contain_shadow=FALSE) const
 
void SaveSettingConfig ()
 保存配置
 
BOOL OnPaintControl (ISurface *pSurface, LPRECT lprcUpdate=NULL, LPRECT lprcParentViewPort=NULL)
 控件渲染
 
float BackOpacity () const
 
float BorderOpacity () 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 ShellAttribute (const BeString &szName, const BeString &szText)
 命令控制和属性设置接口
 
BOOL ShellAttributeToChildControl (const BeString &childname, const BeString &szName, const BeString &szText)
 
virtual void OnParseItemData (XMLItem *pNode)
 解析xml文件对应的数据
 
virtual void OnParseAnimate (XMLItem *pNode)
 解析控件动画对象
 
virtual void OnSaveConfigSetting (XMLItem *node)
 保存控件属性到全局配置文件
 
virtual void OnLoadConfigSetting (XMLItem *node)
 加载控件属性
 
virtual void OnCreate ()
 产生时间是窗口创建之后显示之前
 
virtual void OnFontChange ()
 字体更改
 
virtual void OnControlSize ()
 控件尺寸改变时触发
 
virtual void OnShow (bool bShow)
 
virtual void OnCtrlKillFocus ()
 ui控件失去焦点
 
virtual void OnCtrlSetFocus ()
 ui控件获得焦点
 
virtual BOOL OnKillFocus (WPARAM wParam, LPARAM lParam)
 当管理的句柄HWND失去焦点时 进入此函数,也就是此函数实际上是窗口 MSG_WND_KILLFOCUS的响应
 
virtual BOOL OnHSCrollBar (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnVSCrollBar (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnSetCursor (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnNcHitTest (POINT pt)
 
virtual BOOL OnMouseMove (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnMouseEnter (WPARAM wParam, LPARAM lParam)
 在鼠标进入控件时触发
 
virtual BOOL OnMouseLeave (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnMouseWheel (WPARAM wParam, LPARAM lParam)
 鼠标滑轮消息
 
virtual BOOL OnLButtonDown (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnLButtonUp (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnLButtonCliked (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnRButtonDown (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnRButtonUp (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnRButtonCliked (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnKeyDown (WPARAM wParam, LPARAM lParam)
 键盘消息
 
virtual BOOL OnKeyUp (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnChar (WPARAM wParam, LPARAM lParam)
 
virtual BOOL OnTimerEvent (unsigned int timerid, UINT umsec)
 定时器事件响应
 
virtual BOOL DoPaintShadow (ISurface *pSurface, bool inset, RECT *lpUpdate)
 
virtual BOOL DoPaintBackGround (ISurface *pSurface, RECT *lpUpdate)
 绘制背景
 
virtual BOOL DoPaint (ISurface *pSurface, RECT *lpUpdate)
 绘制前景
 
virtual BOOL DoPaintBorder (ISurface *pSurface, RECT *lpUpdate)
 绘制边框
 
virtual BOOL DoPaintFinished (ISurface *pSurface, RECT *lpUpdate)
 绘制结束事件,极少场景需要用到
 
virtual BOOL OnDropBegin ()
 鼠标拖拽开始
 
virtual BOOL OnDropEnd ()
 鼠标拖拽结束
 
virtual void CloneAttribute (CControlUI *clone)
 克隆属性
 
int LayoutAdaptWidth (int expH) override
 
int LayoutAdaptHeight (int expW) 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, SizeMode stw, SizeMode sth)
 
void ChangeManager (IManageHandler *pMagr)
 改变控件的管理对象(将抽象控件改变实际窗口的作用域)。
 
- Public 成员函数 继承自 BUI::ICommitTarget
 ICommitTarget ()
 
virtual ~ICommitTarget ()
 
virtual void OnSummitTarget (FourCode four_code, LPCTSTR data)
 对象之间传递数据的提交操作
 
- Public 成员函数 继承自 BUI::IControlUI
 IControlUI ()
 
virtual ~IControlUI ()
 
virtual int LayoutAdaptWidth (int expH)
 
virtual int LayoutAdaptHeight (int expW)
 
virtual int GetSplitControlOffsetW ()
 获得拆分宽度偏移
 
virtual int GetSplitControlOffsetH ()
 获得拆分高度偏移
 
virtual void Layout (int x, int y, int w, int h, UINT flags=0)
 
virtual RECT GetPosition ()
 
virtual bool IsVisibleLayout ()
 
- Public 成员函数 继承自 BUI::IEventHandler
 IEventHandler ()
 
virtual ~IEventHandler ()
 
virtual BOOL OnMessageHandler (UINT message, WPARAM wp, LPARAM lp)
 
- Public 成员函数 继承自 BUI::CEditLineStyle
 CEditLineStyle (UINT textflags, RECT *ppview, GFont **ppfont)
 
 ~CEditLineStyle ()
 
virtual BOOL GetRectTextView (RECT &rc)
 
virtual void OnCheckContext ()
 
virtual void OnChangeUpdate (UINT bits)
 
virtual void UpdateIMEPosition (bool show)
 
void SetEditEmptyTextTips (BeString str)
 
PaddingInfo GetTextPadding () const
 
void SetTextPadding (int dl, int dt, int dr, int db)
 
UINT GetTextFlags () const
 
BOOL IsTetxFlags (UINT flag) const
 
void ModifyTextFlags (UINT style, UINT op=ADD_FLAGS)
 设置编辑框属性标志
 
BOOL IsReadOnly () const
 
int GetLimitMaxCount () const
 
void SetLimitMaxCount (int c)
 
int GetPercision () const
 
void SetPercision (int p)
 
double GetValueMax () const
 
void SetValueMax (double va)
 
double GetValueMin () const
 
void SetValueMin (double va)
 
int GetSelectRowCount () const
 
void SetSelectRowCount (int c)
 
int GetLastWrapWidth () const
 
void SetLastWrapWidth (int w)
 
UINT GetTextAlign () const
 
void SetTextAlign (UINT align)
 
int GetChangeCount () const
 
void AddChangeCount (int c)
 
void ResetChangeCount ()
 
BeString GetTextTips () const
 
void SetTextTips (BeString &str)
 
int GetFontHeight () const
 
void SetLineSpacingHeight (int size)
 
int GetLineSpacingHeight () const
 
int GetDefaultLineHeight () const
 
GFontGetPublicFont ()
 
void SetSyntaxStyles (std::shared_ptr< SyntaxStyles > styles)
 
void SetStateTransfer (std::shared_ptr< StateTransfer > lex)
 
void AddCharStyle (std::shared_ptr< CharStyle > &style)
 添加风格样式。
 
std::shared_ptr< CharStyleGetCharStyle (int pos)
 
void ShellLineAttribute (const BeString &szName, const BeString &szText)
 命令控制和属性设置接口
 
- Public 成员函数 继承自 BUI::CEditLine
 CEditLine (CEditLineStyle *style)
 
 ~CEditLine ()
 
void OnMessageEdit (UINT message, WPARAM wp, LPARAM lp)
 
void Clear ()
 
int InsertChars (int pos, LPCTSTR text, int count=-1)
 
int AppendPreimeChars (LPCTSTR text, int count=-1)
 
void EndPreInput (LPCTSTR text, int count=-1)
 
BOOL DeleteChars (int pos, int count)
 删除文本
 
int SelectCount () const
 
BOOL DeleteSelectChars ()
 
void SelectRange (int pos, int count)
 将字符串的一部分设置为选中模式
 
BeString GetText () const
 
LPCTSTR GetTextPtr (int pos)
 
int CharCount () const
 
void SetCharStyle (int pos, int count, std::shared_ptr< CharStyle > &style)
 设置子串的样式索引号.在渲染时会调用CEditLineStyle::GetCharStyle(style_index)获得对应的样式.
 
int FindLocateCoord (RECT &rcText, int dx, int dy)
 根据鼠标输入位置(dx,dy)。获得光标索引
 
int GetPixelWidth (int count) const
 
void SetErrorCodeState (int code)
 
int ErrorCodeState () const
 
int UpdateWordWrapLine (int width)
 重新计算换行信息,在视窗区域变化和每插入和删除一个字符时触发
 
void UpdateCharsSize (int pos, int count)
 
void UpdateCharsLex (const StateTransfer *lex, int32_t current_state, int pos, int count)
 
void UpdateSurfaceCharsSize (ISurface *pSurface, int pos, int count)
 
int CharCursorPos () const
 
void SetCharCursorPos (int cursor)
 
int CharFixHeadPos () const
 
void SetCharFixHeadPos (int pos)
 
int LineBottomPos () const
 
void SetLineBottomPos (int pos)
 
int GetLineWidth () const
 
int GetLineHeight (BOOL isSingleLine=FALSE) const
 
int GetPreInputPos () const
 
int GetPreInputLength () const
 
int GetWraplineHeight (int sub_line, BOOL nearTop) const
 
int GetWraplineIndex (int cursor) const
 
int GetWraplineCount () const
 
int32_t GetLexState (int pos)
 
UINT ChangeFlags () const
 
void SetChangeFlags (UINT changed, UINT op)
 Set the Change Flags object
 
void PeekSelectText (BasicStringBuffer &buffer) const
 提取选中文本
 
void PeekText (BeString &buffer) const
 提取全部文本
 
void DrawLineCursor (ISurface *psurface, int paintState, int dx, RECT rcLine, GBrushArray &text_bru, POINT &ptCursor, BOOL isFocus=FALSE)
 
void DrawLineTextOut (ISurface *psurface, int paintState, int dx, RECT rcLine, const GColor &crbgSelected, GBrushArray &text_bru, UINT txtFlags, BOOL fill=FALSE)
 

Protected 成员函数

void DrapShow (BOOL bShow)
 
BOOL IsDropShow ()
 
void GetDropBtnRect (RECT *rc)
 
void ShowDropWindows (BOOL bShow)
 
IManageHandlerGetPopManager ()
 
- Protected 成员函数 继承自 BUI::CEditTextUI
void UpdateOffsetX (BOOL isToLow)
 
void SelectEnd (int end, BOOL check)
 
BOOL DoInputCharCodePoint (WPARAM wParam, LPARAM lParam, BOOL isFocus)
 
BOOL DoInputChar (WPARAM wParam, LPARAM lParam, BOOL isFocus)
 
BOOL DoInputPreeditChar (WPARAM wParam, LPARAM lParam, BOOL isFocus)
 
BOOL DoInputCommitChar (WPARAM wParam, LPARAM lParam, BOOL isFocus)
 
BOOL DeleteSession (BOOL only_delete_select, BOOL bRefresh=FALSE)
 
BOOL OnClickPoint (POINT pt)
 
void ReCreateNode ()
 
int GetScrollRangeX () const
 
void SendToCommitMSG (BOOL commit)
 
void PasteString ()
 
void CutString ()
 
void CopyString ()
 
void GetPrefixIconRect (RECT *rc)
 
void GetSuffixIconRect (RECT *rc)
 
void UpdatePercentBarValue ()
 
- Protected 成员函数 继承自 BUI::CControlUI
void UpdateMarginStateFlag ()
 更新margin状态标志位
 
void DoChangeThemeColors (const BeString &name)
 
BOOL SetMouseCursor (CursorMouse id)
 设置系统光标
 
void InsertBreakChain (CControlUI *prev, CControlUI *next)
 
void DeleteBreakChain (CControlUI *prev, CControlUI *next)
 
void ClientToHWNDScreen ()
 将控件坐标转换为窗口下的坐标
 
void RePlotChildPos ()
 
void AdjustLayoutControlSize (POINT pt)
 用户调整控件大小
 
BOOL IsRedrawHovn () const
 
void NotifyChildControlEnableChange (bool bEnable)
 父控件被禁用时,同步更新子控件禁用状态
 
void NotifyChildControlVisableChange (bool bShow)
 父控件被隐藏时,同步更新子控件隐藏状态
 
- Protected 成员函数 继承自 BUI::CEditLine
void DrawWrapLineTextOut (ISurface *psurface, int paintState, int dx, RECT rcLine, const GColor &crbgSelected, GBrushArray &text_bru, UINT txtFlags, BOOL is_select_fill)
 
void DrawTextRangePos (ISurface *psurface, GFont *defaultFont, int start, int end, int &x0, int &y0, const TCHAR *&p, RECT &rcLine, const GColor &textcolor)
 
void insertCharsInternal (int pos, LPCTSTR text, int count)
 
int GetBytesLength (LPCTSTR text, int pos, int count)
 
BOOL CheckDecimal (const TCHAR *text)
 
int PreCheckBeforeInsert (BasicStringBuffer &buffer, int pos, LPCTSTR text, int count, UINT textFlag)
 
void GetCharFont (int pos, GFont *&font)
 
CharStyleGetCharStyle (int pos) const
 
BOOL GetCharLexStyle (int pos, GColor &color) const
 

Protected 属性

int m_drop_height
 
int m_width_min
 
BOOL m_drop_kill_focus
 
BOOL m_btn_event
 
BOOL m_drop_btn_down
 
BOOL m_is_text_style_display
 
std::shared_ptr< CNodeDatam_valuedata
 
CControlUIm_drag_ui
 
BOOL m_is_use_abstract
 
- Protected 属性 继承自 BUI::CEditTextUI
TCHAR m_back_buffer [32]
 
BasicStringBuffer m_str_rollback
 
GBrushArray m_bru_text_bg
 
GBrushArray m_bru_fill_button
 
float m_progress_value
 
int m_selet_start
 
int m_horz_offset
 
RECT m_rect_edit
 
POINT m_pt_auto_move_trace
 
BOOL m_is_lb_down_in_edit_view
 
std::shared_ptr< CNodeDataListsm_pefix_and_suffix_data
 
std::vector< std::shared_ptr< CNodeData > > m_headdata
 
std::vector< std::shared_ptr< CNodeData > > m_taildata
 
std::shared_ptr< CNodeDatam_place_node
 
- Protected 属性 继承自 BUI::CControlUI
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
 
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
 
ActionList m_action
 
GBrushArray m_bru_fill
 
GBrushArray m_bru_stroke
 
GBrushArray m_bru_text
 
BeString m_text_min_adapter
 
ILayoutm_layout
 
GShadowContain m_shadow_contain
 
ShadowInfom_shadow_text
 
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
 
GAnimateTransformVector m_anim_trans
 
RoundRectRadius m_round_radius
 
UBYTE m_round_radius_flags
 
MarginInfo m_margin_on_hover
 
FourCode m_draw_style
 
BeString m_text_poptips
 
std::shared_ptr< CControlUIm_pop_box_ui
 
std::shared_ptr< PopControlInfom_pop_attribute
 
std::vector< std::shared_ptr< ILayout > > m_absord_uis
 
ST_Policy m_sig_policy
 
syntax_infom_cmd_ast
 
XMLItemm_save_node
 
UBYTE m_num_key_ctrl
 
UBYTE m_num_key_code
 
UBYTE m_hit_flag
 
UBYTE m_key_down
 
- Protected 属性 继承自 BUI::CEditLine
CEditLineStylem_style
 
BeString m_text_line
 
std::vector< CharSizem_sizes
 
std::vector< std::shared_ptr< CharStyle > > m_char_ui
 
int32_t m_first_state
 
int32_t m_last_state
 
std::vector< int32_t > m_lex_state
 
std::vector< std::shared_ptr< int32_t > > m_lex_result
 
UINT m_change_flags
 
SIZE m_lineSize
 
int m_cursor_pos
 
int m_cursor_offset
 
int m_select_start
 
int m_select_count
 
int m_select_rect_left
 
int m_select_rect_width
 
int m_string_bytes
 
int m_string_count
 
int m_pre_input_pos
 
int m_pre_input_count
 
int m_fix_head_pos
 
int m_line_bottom_pos
 
int m_error_code
 
std::vector< WordWrapLineInfom_wordwrap
 
int m_fisrt_printf_pos
 
int m_fisrt_printf_head
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 BUI::CControlUI
static void ChangeParent (CControlUI *pThis, CControlUI *pNewpar, CControlUI *pAfterchild)
 
static void ParseShortCutText (const char *text, UINT &vCtrl, UINT &vKey)
 解析快捷键
 
static BeString ConvertShortCutCodeToText (UINT vCtrl, UINT vKey)
 快捷键转换为字符串
 
- Public 属性 继承自 BUI::CControlUI
BeString m_name
 
UINT m_int_id
 
IManageHandlerm_manager
 
CControlUIm_parent
 
CControlUIm_first_child
 
CControlUIm_last_child
 
CControlUIm_next_sibling
 
CControlUIm_prev_sibling
 
CControlUIm_gc_prev_
 
CControlUIm_gc_next_
 
CControlUIm_break_prev_
 
CControlUIm_break_next_
 
RECT m_rect_pos
 
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
 
- Public 属性 继承自 BUI::CEditLineStyle
BeString m_tips_text
 
PaddingInfo m_textPadding
 
std::vector< std::shared_ptr< CharStyle > > m_charStyle
 
std::shared_ptr< SyntaxStylesm_ccs
 
std::shared_ptr< StateTransferm_lex
 
AtomicLock m_mutex_running
 
UINT m_textFlag
 
int m_nLineSpaceing
 
int m_nMaxLimitCount
 
int m_nPrecision
 
double m_nMinValue
 
double m_nMaxValue
 
SIZE m_roundSize
 
int m_nSelectCount
 
int m_nChangeCount
 
UINT m_hor_align
 
RECTm_pRcClient
 
GFont ** m_ppfont
 
int m_nHexGroupCount
 
int m_last_warp_width
 
int m_nUndoMaxSize
 
int m_lead_width
 
UINT m_change_flags
 
std::deque< UnDoRecordm_undo_
 
std::deque< UnDoRecordm_undo_back_
 
- 静态 Protected 成员函数 继承自 BUI::CControlUI
static UBYTE ReturnBitFlag (UBYTE value, UINT bit_pos, BOOL bEnable)
 

详细描述

下拉控件基类,下拉弹出窗口采用单例模式。减少对窗口资源的消耗

构造及析构函数说明

◆ CComboBaseUI()

BUI::CComboBaseUI::CComboBaseUI ( )

◆ ~CComboBaseUI()

BUI::CComboBaseUI::~CComboBaseUI ( )

成员函数说明

◆ DoPaint()

BOOL BUI::CComboBaseUI::DoPaint ( ISurface pSurface,
RECT lpUpdate 
)
overridevirtual

绘制前景

重载 BUI::CControlUI .

BUI::CComboColorPickerUI 重载.

◆ DrapShow()

void BUI::CComboBaseUI::DrapShow ( BOOL  bShow)
protected

◆ EnableTextDisplay()

void BUI::CComboBaseUI::EnableTextDisplay ( BOOL  bText)

◆ GetControlValueText()

void BUI::CComboBaseUI::GetControlValueText ( BasicStringBuffer buffer)
overridevirtual

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

重载 BUI::CControlUI .

◆ GetCurselNodeData()

CNodeData * BUI::CComboBaseUI::GetCurselNodeData ( ) const

◆ GetDropBtnRect()

void BUI::CComboBaseUI::GetDropBtnRect ( RECT rc)
protected

◆ GetPopManager()

IManageHandler * BUI::CComboBaseUI::GetPopManager ( )
protected

◆ IsDropShow()

BOOL BUI::CComboBaseUI::IsDropShow ( )
protected

◆ OnCreate()

void BUI::CComboBaseUI::OnCreate ( )
overridevirtual

产生时间是窗口创建之后显示之前

重载 BUI::CControlUI .

BUI::CComboListUI 重载.

◆ OnCreateDropUI()

virtual CControlUI * BUI::CComboBaseUI::OnCreateDropUI ( IManageHandler pManager)
virtual

◆ OnCtrlKillFocus()

void BUI::CComboBaseUI::OnCtrlKillFocus ( )
overridevirtual

ui控件失去焦点

重载 BUI::CControlUI .

◆ OnCtrlSetFocus()

void BUI::CComboBaseUI::OnCtrlSetFocus ( )
overridevirtual

ui控件获得焦点

重载 BUI::CControlUI .

◆ OnLButtonDown()

BOOL BUI::CComboBaseUI::OnLButtonDown ( WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

重载 BUI::CControlUI .

BUI::CComboListUI 重载.

◆ OnLButtonUp()

BOOL BUI::CComboBaseUI::OnLButtonUp ( WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

重载 BUI::CControlUI .

◆ OnMessageHandler()

BOOL BUI::CComboBaseUI::OnMessageHandler ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

◆ OnMouseLeave()

BOOL BUI::CComboBaseUI::OnMouseLeave ( WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

重载 BUI::CControlUI .

◆ OnMouseMove()

BOOL BUI::CComboBaseUI::OnMouseMove ( WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

重载 BUI::CControlUI .

◆ OnShow()

void BUI::CComboBaseUI::OnShow ( bool  show)
overridevirtual

重载 BUI::CControlUI .

◆ OnSummitTarget()

void BUI::CComboBaseUI::OnSummitTarget ( FourCode  four_code,
LPCTSTR  data 
)
overridevirtual

对象之间传递数据的提交操作

参数
four_code由四个字符组合而成的类型符号
data额外字符串数据。可以是纯字符串,可以是json文本,可以是任意格式的数据流

重载 BUI::ICommitTarget .

BUI::CComboColorPickerUI 重载.

◆ SelectChange()

void BUI::CComboBaseUI::SelectChange ( )

◆ SendToPopWidgetMessage()

BOOL BUI::CComboBaseUI::SendToPopWidgetMessage ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

向下拉窗口发送消息

◆ SetControlValueText()

void BUI::CComboBaseUI::SetControlValueText ( const BeString str)
overridevirtual

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

重载 BUI::CControlUI .

◆ SetDropMinWidth()

void BUI::CComboBaseUI::SetDropMinWidth ( int  width)

◆ ShellAttribute()

void BUI::CComboBaseUI::ShellAttribute ( const BeString szName,
const BeString szText 
)
overridevirtual

命令控制和属性设置接口

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"
border-size
边框画笔大小
border-size="2"
round-radius
控件圆角
round-radius="left-top:10,10;right-top:10,10;right-bottom:10,10;left-bottom:10,10"
round-radius="rx:10;ry:10"
font
设置字体
font="name"
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="这是一段鼠标悬停时的提示文本内容"
nID
控件整数ID
nID="101"
skin-id
皮肤唯一标识符,查找皮肤时的关键key
skin-id="skin_white"
cursor
光标
取值:arrow,ibeam,hand,wait,cross,uparrow,size,icon,sizenwse,sizenesw,sizewe,sizens,sizeall,no
isShortCut
是否可以响应快捷键
true/false
shortcut
响应快捷键
shortcut="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::CControlUI .

BUI::CComboListUI, BUI::CComboDateUI, BUI::CComboDateRangeUI , 以及 BUI::CComboColorPickerUI 重载.

◆ ShowDropWindows()

void BUI::CComboBaseUI::ShowDropWindows ( BOOL  bShow)
protected

类成员变量说明

◆ m_btn_event

BOOL BUI::CComboBaseUI::m_btn_event
protected

◆ m_drag_ui

CControlUI* BUI::CComboBaseUI::m_drag_ui
protected

◆ m_drop_btn_down

BOOL BUI::CComboBaseUI::m_drop_btn_down
protected

◆ m_drop_height

int BUI::CComboBaseUI::m_drop_height
protected

◆ m_drop_kill_focus

BOOL BUI::CComboBaseUI::m_drop_kill_focus
protected

◆ m_is_text_style_display

BOOL BUI::CComboBaseUI::m_is_text_style_display
protected

◆ m_is_use_abstract

BOOL BUI::CComboBaseUI::m_is_use_abstract
protected

◆ m_valuedata

std::shared_ptr<CNodeData> BUI::CComboBaseUI::m_valuedata
protected

◆ m_width_min

int BUI::CComboBaseUI::m_width_min
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有