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

单行文本输入框(自主设计自绘,未使用系统原生编辑输入框,可方便移植到嵌入式平台) 更多...

类 BUI::CEditTextUI 继承关系图:

Public 成员函数

 CEditTextUI ()
 ~CEditTextUI ()
void SetEditText (LPCTSTR str, BOOL is_refresh=FALSE)
 设置编辑器文本
void GetEditText (BeString &str, BOOL full_name=FALSE)
 获取输入文本
bool InsertChars (int pos, const TCHAR *str, int count, BOOL is_refresh=FALSE)
 插入字符串
void Clear (BOOL is_refresh=TRUE)
 清空编辑器内容
double GetNumber () const
 输出十进制数值
void SetNumber (double value, BOOL no_trigger=FALSE, BOOL is_refresh=TRUE)
 设置数值
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 is_clear=FALSE)
void AddTailNodeData (std::shared_ptr< CNodeData > node, BOOL is_clear=FALSE)
void SetEditClientWidthMode (LayoutMode mw, int width)
 当存在前缀或后缀节点时,输入区域的宽度计算模式。默认为fill
RECT GetEditClient ()
 获得输入编辑区
BOOL MoveChars (int i)
 移动edit光标
void MoveCurLast ()
 移动edit光标到末尾
bool DestoryCaretCursor ()
 删除edit光标
void DoRollBack ()
 执行回滚动作
void SaveCurrentRollBack ()
 将当前文本保存为回滚内容
void SetBackgroundProgressValue (float p)
 设置背景进度百分比
void SelectSessionAll (BOOL is_select, BOOL is_refresh)
 全选使能
void SetControlValueText (const BeString &str) override
 设置控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
void OnControlSize () override
 控件尺寸改变时触发
void OnShow (bool is_show) override
 控件可见性发生变化时触发
void OnCtrlKillFocus () override
 ui控件失去焦点
void OnCtrlSetFocus () override
 ui控件获得焦点
void OnFontChange () override
 字体更改
void GetControlValueText (BasicStringBuffer &buffer) override
 获得控件所表达的数据的文本,比如复选框的状态("0"/"1"),方便上层统一操作
BOOL OnLButtonDown (WPARAM wp, LPARAM lp) override
BOOL OnLButtonUp (WPARAM wp, LPARAM lp) override
BOOL OnLButtonCliked (WPARAM wp, LPARAM lp) override
BOOL OnKeyDown (WPARAM wp, LPARAM lp) override
 键盘消息
BOOL OnChar (WPARAM wp, LPARAM lp) override
BOOL OnMouseMove (WPARAM wp, LPARAM lp) override
void OnSaveConfigSetting (XMLItem *node) override
 保存控件属性到全局配置文件
void OnLoadConfigSetting (XMLItem *node) override
 加载控件属性
BOOL OnMessageHandler (UINT message, WPARAM wp, LPARAM lp) override
 虚拟控件最终消息处理过程
BOOL DoPaintBackGround (ISurface *surface, RECT *rect_update) override
 绘制背景
BOOL DoPaint (ISurface *surface, RECT *rect_update) override
 绘制前景
void ShellAttribute (const BeString &str_name, const BeString &str_value) override
 命令控制和属性设置接口
void GetAttributeNames (std::vector< BeString > &out_vec) override
void GetRelationship (std::vector< BeString > &list) override
 获得类的继承关系
int LayoutAdaptWidth (int exp_height) override
 自适应宽度计算
int LayoutAdaptHeight (int exp_width) override
 自适应高度计算
BOOL GetRectTextView (RECT &rc) override
 获得文本显示区域
void UpdateIMEPosition (bool show) override
 更新IME输入法显示位置
Public 成员函数 继承自 BUI::CControlUI
 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)
 向上层转发同步消息
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
 轮廓边框透明度
virtual POINT ViewOrigin () const
 坐标原点偏移量
virtual CControlUIHitTestControl (POINT pt)
 根据位置得到最终的定位控件
virtual BOOL HitTest (POINT pt)
 点击测试
virtual void GetLayoutViewRect (RECT *rc)
virtual BeString GetControlText ()
virtual ILayoutBoxLayoutMgr ()
 容器布局对象
virtual void Activate ()
 激活
virtual CControlUIClone ()
 克隆对象
virtual void ChangeThemeColors ()
 切换主题色
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 OnCreate ()
 产生时间是窗口创建之后显示之前
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 OnMouseEnter (WPARAM wp, LPARAM lp)
 在鼠标进入控件时触发
virtual BOOL OnMouseLeave (WPARAM wp, LPARAM lp)
virtual BOOL OnMouseWheel (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 OnKeyUp (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 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 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 成员函数 继承自 BUI::CEditLineStyle
 CEditLineStyle (UINT text_flags, RECT *ppview, GFont **pp_font)
 ~CEditLineStyle ()
virtual void OnCheckContext ()
 属性发生变化,需要重新校验值的合法性
virtual void OnChangeUpdate (UINT bits)
 变化处理事件,比如行宽改变,高度改变,需要更新位置信息等
void SetEditEmptyTextTips (const 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 (const BeString &str)
 设置编辑框提示文本
int GetFontHeight () const
 获得字体高度
void SetLineSpacingHeight (int size)
 设置行间距
int GetLineSpacingHeight () const
 获得行间距
int GetDefaultLineHeight () const
 获得默认行高
GFontGetPublicFont ()
 获得全局字体
void SetSyntaxStyles (const std::shared_ptr< SyntaxStyles > &style)
 设置词法着色样式
void SetStateTransfer (const std::shared_ptr< StateTransfer > &lex)
 设置词法分析自动机
void AddCharStyle (const std::shared_ptr< CharStyle > &style)
 添加风格样式。
std::shared_ptr< CharStyleGetCharStyle (int pos)
 获得指定位置的风格
void ShellLineAttribute (const BeString &str_name, const BeString &str_value)
 命令控制和属性设置接口
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 style_id=-1)
 在pos位置插入文本
int InsertCharsW (int pos, LPCWSTR text, int count=-1, int style_id=-1)
 在pos位置插入文本(宽字节版本)
int InsertCharsA (int pos, LPCSTR text, int count=-1, int style_id=-1)
 在pos位置插入文本(UTF8格式)
int AppendPreimeChars (LPCTSTR text, int count=-1, int style_id=-1)
 输入法预输入
void EndPreInput (LPCTSTR text, int count=-1, int style_id=-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
 返回字符符号数量(注意这里不等于字节数)。当返回值为0,可以判定为空串
void SetCharStyle (int pos, int count, std::shared_ptr< CharStyle > &style)
 设置子串的样式索引号.在渲染时会调用CEditLineStyle::GetCharStyle(style_index)获得对应的样式.
int FindLocateCoord (RECT &rc_text, 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 *surface, int pos, int count)
 更新字符尺寸信息
int CharCursorPos () const
 Edit光标位置
void SetCharCursorPos (int cursor)
 设置EditInput光标位置
int CharFixHeadPos () const
void SetCharFixHeadPos (int pos)
int LineBottomY () const
 行底部Y位置
void SetLineBottomY (int pos)
int GetLineWidth () const
 获得行宽度
int GetLineHeight (BOOL is_single_line=FALSE) const
 获得行高度,isSingleLine=TRUE,表示单行模式
int GetPreInputPos () const
 获得输入法预插入位置
int GetPreInputLength () const
 获得输入法待插入文本长度
int GetWraplineHeight (int sub_line, BOOL is_near_top) const
int GetWraplineIndex (int cursor) const
int GetWraplineCount () const
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 *surface, int paint_state, int dx, RECT rc_line, GBrushArray &text_bru, POINT &pt_cursor, BOOL is_focus=FALSE)
void DrawLineTextOut (ISurface *surface, int paint_state, int dx, RECT rc_line, const GColor &color_text_bg, GBrushArray &text_bru, UINT text_flags, BOOL fill=FALSE)

Protected 成员函数

void UpdateOffsetX (BOOL is_to_low)
void SelectEnd (int end, BOOL is_check)
BOOL DoInputCharCodePoint (WPARAM wp, LPARAM lp, BOOL is_focus)
BOOL DoInputChar (WPARAM wp, LPARAM lp, BOOL is_focus)
BOOL DoInputPreeditChar (WPARAM wp, LPARAM lp, BOOL is_focus)
BOOL DoInputCommitChar (WPARAM wp, LPARAM lp, BOOL is_focus)
BOOL DeleteSession (BOOL only_delete_select, BOOL is_refresh=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状态标志位
BOOL SetMouseCursor (CursorMouse id)
 设置系统光标
void ClientToHWNDScreen ()
 将控件坐标转换为窗口下的坐标
void RePlotChildPos ()
void AdjustLayoutControlSize (POINT pt)
 用户调整控件大小
void NotifyChildControlEnableChange (bool is_enable)
 父控件被禁用时,同步更新子控件禁用状态
void NotifyChildControlVisableChange (bool is_show)
 父控件被隐藏时,同步更新子控件隐藏状态
Protected 成员函数 继承自 BUI::CEditLine
void DrawWrapLineTextOut (ISurface *surface, int paint_state, int dx, RECT rc_line, const GColor &color_text_bg, GBrushArray &text_bru, UINT text_flags, BOOL is_select_fill)
void DrawTextRangePos (ISurface *surface, GFont *default_font, int start, int end, int &x0, int &y0, const TCHAR *&p, RECT &rc_line, const GColor &textcolor)
void insertCharsInternal (int pos, LPCTSTR text, int count, int style_id)
int GetBytesLength (LPCTSTR text, int pos, int count)
BOOL CheckDecimal (const TCHAR *text)
int PreCheckBeforeInsert (BasicStringBuffer &buffer, int pos, LPCTSTR text, int count, UINT text_flag)
void GetCharFont (int pos, GFont *&font) const
CharStyleGetCharStyle (int pos) const
BOOL GetCharLexStyle (int pos, GColor &color) const

Protected 属性

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
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
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_moving
GAnimateTransformVector m_anim_trans
FourCode m_draw_style
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
std::vector< int16_t > m_char_style_id
UINT m_change_flags
SIZE m_line_size
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 *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 属性 继承自 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
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
Public 属性 继承自 BUI::CEditLineStyle
BeString m_tips_text
PaddingInfo m_text_padding
std::vector< std::shared_ptr< CharStyle > > m_char_style
std::shared_ptr< SyntaxStylesm_ccs
std::shared_ptr< StateTransferm_lex
AtomicLock m_mutex_running
UINT m_text_flags
int m_row_spaceing
int m_input_char_max
int m_value_precision
double m_value_min
double m_value_max
int m_selected_count
int m_changed_count
UINT m_hor_align
RECTm_rect_client_pp
GFont ** m_font_pp
int m_hex_group_count
int m_last_warp_width
int m_undo_max
int m_lead_width
UINT m_change_flags
bool m_is_update_char_size
std::deque< UnDoRecordm_undo_
std::deque< UnDoRecordm_undo_back_
静态 Protected 成员函数 继承自 BUI::CControlUI
static UBYTE ReturnBitFlag (UBYTE value, UINT bit_pos, BOOL is_enable)

详细描述

单行文本输入框(自主设计自绘,未使用系统原生编辑输入框,可方便移植到嵌入式平台)

构造及析构函数说明

◆ CEditTextUI()

BUI::CEditTextUI::CEditTextUI ( )

◆ ~CEditTextUI()

BUI::CEditTextUI::~CEditTextUI ( )

成员函数说明

◆ AddHeadNodeData()

void BUI::CEditTextUI::AddHeadNodeData ( std::shared_ptr< CNodeData > node,
BOOL is_clear = FALSE )

◆ AddTailNodeData()

void BUI::CEditTextUI::AddTailNodeData ( std::shared_ptr< CNodeData > node,
BOOL is_clear = FALSE )

◆ Clear()

void BUI::CEditTextUI::Clear ( BOOL is_refresh = TRUE)

清空编辑器内容

◆ CopyString()

void BUI::CEditTextUI::CopyString ( )
protected

◆ CutString()

void BUI::CEditTextUI::CutString ( )
protected

◆ DeleteSession()

BOOL BUI::CEditTextUI::DeleteSession ( BOOL only_delete_select,
BOOL is_refresh = FALSE )
protected

◆ DestoryCaretCursor()

bool BUI::CEditTextUI::DestoryCaretCursor ( )

删除edit光标

◆ DoInputChar()

BOOL BUI::CEditTextUI::DoInputChar ( WPARAM wp,
LPARAM lp,
BOOL is_focus )
protected

◆ DoInputCharCodePoint()

BOOL BUI::CEditTextUI::DoInputCharCodePoint ( WPARAM wp,
LPARAM lp,
BOOL is_focus )
protected

◆ DoInputCommitChar()

BOOL BUI::CEditTextUI::DoInputCommitChar ( WPARAM wp,
LPARAM lp,
BOOL is_focus )
protected

◆ DoInputPreeditChar()

BOOL BUI::CEditTextUI::DoInputPreeditChar ( WPARAM wp,
LPARAM lp,
BOOL is_focus )
protected

◆ DoPaint()

BOOL BUI::CEditTextUI::DoPaint ( ISurface * surface,
RECT * rect_update )
overridevirtual

绘制前景

重载 BUI::CControlUI .

◆ DoPaintBackGround()

BOOL BUI::CEditTextUI::DoPaintBackGround ( ISurface * surface,
RECT * rect_update )
overridevirtual

绘制背景

重载 BUI::CControlUI .

◆ DoRollBack()

void BUI::CEditTextUI::DoRollBack ( )

执行回滚动作

◆ GetAttributeNames()

void BUI::CEditTextUI::GetAttributeNames ( std::vector< BeString > & out_vec)
overridevirtual

重载 BUI::CControlUI .

◆ GetControlValueText()

void BUI::CEditTextUI::GetControlValueText ( BasicStringBuffer & buffer)
overridevirtual

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

重载 BUI::CControlUI .

◆ GetEditClient()

RECT BUI::CEditTextUI::GetEditClient ( )

获得输入编辑区

◆ GetEditText()

void BUI::CEditTextUI::GetEditText ( BeString & str,
BOOL full_name = FALSE )

获取输入文本

参数
str:[输出参数]
full_name:是否输出全名。当存在前后缀时,此参数有意义

◆ GetNumber()

double BUI::CEditTextUI::GetNumber ( ) const

输出十进制数值

◆ GetPrefixIconRect()

void BUI::CEditTextUI::GetPrefixIconRect ( RECT * rc)
protected

◆ GetRectTextView()

BOOL BUI::CEditTextUI::GetRectTextView ( RECT & rc)
overridevirtual

获得文本显示区域

重载 BUI::CEditLineStyle .

◆ GetRelationship()

void BUI::CEditTextUI::GetRelationship ( std::vector< BeString > & list)
overridevirtual

获得类的继承关系

重载 BUI::CControlUI .

◆ GetScrollRangeX()

int BUI::CEditTextUI::GetScrollRangeX ( ) const
protected

◆ GetSuffixIconRect()

void BUI::CEditTextUI::GetSuffixIconRect ( RECT * rc)
protected

◆ InsertChars()

bool BUI::CEditTextUI::InsertChars ( int pos,
const TCHAR * str,
int count,
BOOL is_refresh = FALSE )

插入字符串

参数
pos: 插入位置
str: 字符串
count: 长度
is_refresh: 重绘使能

◆ LayoutAdaptHeight()

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

自适应高度计算

重载 BUI::CControlUI .

◆ LayoutAdaptWidth()

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

自适应宽度计算

重载 BUI::CControlUI .

◆ MoveChars()

BOOL BUI::CEditTextUI::MoveChars ( int i)

移动edit光标

◆ MoveCurLast()

void BUI::CEditTextUI::MoveCurLast ( )

移动edit光标到末尾

◆ OnChar()

BOOL BUI::CEditTextUI::OnChar ( WPARAM wp,
LPARAM lp )
overridevirtual

重载 BUI::CControlUI .

◆ OnClickPoint()

BOOL BUI::CEditTextUI::OnClickPoint ( POINT pt)
protected

◆ OnControlSize()

void BUI::CEditTextUI::OnControlSize ( )
overridevirtual

控件尺寸改变时触发

重载 BUI::CControlUI .

◆ OnCtrlKillFocus()

void BUI::CEditTextUI::OnCtrlKillFocus ( )
overridevirtual

ui控件失去焦点

重载 BUI::CControlUI .

◆ OnCtrlSetFocus()

void BUI::CEditTextUI::OnCtrlSetFocus ( )
overridevirtual

ui控件获得焦点

重载 BUI::CControlUI .

◆ OnFontChange()

void BUI::CEditTextUI::OnFontChange ( )
overridevirtual

字体更改

重载 BUI::CControlUI .

◆ OnKeyDown()

BOOL BUI::CEditTextUI::OnKeyDown ( WPARAM wp,
LPARAM lp )
overridevirtual

键盘消息

重载 BUI::CControlUI .

◆ OnLButtonCliked()

BOOL BUI::CEditTextUI::OnLButtonCliked ( WPARAM wp,
LPARAM lp )
overridevirtual

重载 BUI::CControlUI .

◆ OnLButtonDown()

BOOL BUI::CEditTextUI::OnLButtonDown ( WPARAM wp,
LPARAM lp )
overridevirtual

重载 BUI::CControlUI .

◆ OnLButtonUp()

BOOL BUI::CEditTextUI::OnLButtonUp ( WPARAM wp,
LPARAM lp )
overridevirtual

重载 BUI::CControlUI .

◆ OnLoadConfigSetting()

void BUI::CEditTextUI::OnLoadConfigSetting ( XMLItem * node)
overridevirtual

加载控件属性

重载 BUI::CControlUI .

◆ OnMessageHandler()

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

虚拟控件最终消息处理过程

重载 BUI::CControlUI .

◆ OnMouseMove()

BOOL BUI::CEditTextUI::OnMouseMove ( WPARAM wp,
LPARAM lp )
overridevirtual

重载 BUI::CControlUI .

◆ OnSaveConfigSetting()

void BUI::CEditTextUI::OnSaveConfigSetting ( XMLItem * node)
overridevirtual

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

重载 BUI::CControlUI .

◆ OnShow()

void BUI::CEditTextUI::OnShow ( bool is_show)
overridevirtual

控件可见性发生变化时触发

重载 BUI::CControlUI .

◆ PasteString()

void BUI::CEditTextUI::PasteString ( )
protected

◆ ReCreateNode()

void BUI::CEditTextUI::ReCreateNode ( )
protected

◆ SaveCurrentRollBack()

void BUI::CEditTextUI::SaveCurrentRollBack ( )

将当前文本保存为回滚内容

◆ SelectEnd()

void BUI::CEditTextUI::SelectEnd ( int end,
BOOL is_check )
protected

◆ SelectSessionAll()

void BUI::CEditTextUI::SelectSessionAll ( BOOL is_select,
BOOL is_refresh )

全选使能

◆ SendToCommitMSG()

void BUI::CEditTextUI::SendToCommitMSG ( BOOL commit)
protected

◆ SetBackgroundProgressValue()

void BUI::CEditTextUI::SetBackgroundProgressValue ( float p)

设置背景进度百分比

◆ SetControlValueText()

void BUI::CEditTextUI::SetControlValueText ( const BeString & str)
overridevirtual

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

重载 BUI::CControlUI .

◆ SetEditClientWidthMode()

void BUI::CEditTextUI::SetEditClientWidthMode ( LayoutMode mw,
int width )

当存在前缀或后缀节点时,输入区域的宽度计算模式。默认为fill

◆ SetEditText()

void BUI::CEditTextUI::SetEditText ( LPCTSTR str,
BOOL is_refresh = FALSE )

设置编辑器文本

参数
str: 字符串
is_refresh: 重绘使能

◆ SetNumber()

void BUI::CEditTextUI::SetNumber ( double value,
BOOL no_trigger = FALSE,
BOOL is_refresh = TRUE )

设置数值

◆ SetTextHead()

void BUI::CEditTextUI::SetTextHead ( const BeString & str,
const GColor & color,
GImageIconInfo * img = NULL,
GFont * font = NULL )

设置前缀文本

◆ SetTextTail()

void BUI::CEditTextUI::SetTextTail ( const BeString & str,
const GColor & color,
GImageIconInfo * img = NULL,
GFont * font = NULL )

设置后缀文本

◆ ShellAttribute()

void BUI::CEditTextUI::ShellAttribute ( const BeString & str_name,
const BeString & str_value )
overridevirtual

命令控制和属性设置接口

szName属性 szText语法格式
text-file
加载文件内容
text-file="文件路径"
fill-text-bg
文本背景颜色
fill-button
下拉按钮和Spin按钮颜色
CEditLineStyle继承而来
text-align
文本对齐方式
text-align="left,vcenter" 取值left,right,center,top,bottom,vcenter的组合
text-padding
文本内边缩进
text-padding="10,10,10,10"
empty-tips
空内容时的提示文本
empty-tips="请输入授权码"
input-range
数值输入范围,超出范围输入无响应
input-range="0,100"
input-type
输入类型控制
"-"号前缀表示删除
Decimal: Allow '0','1','2','3','4','5','6','7','8','9','+','-'
Hexadecimal: Allow '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','a','b','c','d','e','f'
Octal: Allow '0','1','2','3','4','5','6','7'
Binary: Allow '0','1'
Uppercase: Turn 'a'..'z' into 'A'..'Z'
NoBlank: Filter out spaces, tabs
Scientific: Allow '0','1','2','3','4','5','6','7','8','9','.','+','/','-','*','e','E'(Scientific notation input)
Password: Password mode Allow ascii
ReadOnly: Read-only mode
Multiline: For internal use by InputTextMultiline()
wordwarp: Word wrap
noModify: do not modify text
undo: undo
console: console mode
ShowLineNumber: show line number
ShowLineMark: show line highlight mark
RemoveLastZero: remove float last zero
undo-size
最大撤销步骤
undo-size="20"
allow-max-count
允许输入字符数量最大限制
allow-max-count="64"
precision
数值显示精度
precision="1" 保留1位小数点
node-head
前缀文本
node-head="text:Temp;image:__;color:0x124578;font:__;" 下划线部分为资源id
node-tail
后缀文本
node-tail="text:°C;image:__;color:0x124578;font:__ " 下划线部分为资源id
node-edit
输入区宽度模式
node-edit="adapt:5"

重载 BUI::CControlUI .

◆ UpdateIMEPosition()

void BUI::CEditTextUI::UpdateIMEPosition ( bool show)
overridevirtual

更新IME输入法显示位置

重载 BUI::CEditLineStyle .

◆ UpdateOffsetX()

void BUI::CEditTextUI::UpdateOffsetX ( BOOL is_to_low)
protected

◆ UpdatePercentBarValue()

void BUI::CEditTextUI::UpdatePercentBarValue ( )
protected

类成员变量说明

◆ m_back_buffer

TCHAR BUI::CEditTextUI::m_back_buffer[32]
protected

◆ m_bru_fill_button

GBrushArray BUI::CEditTextUI::m_bru_fill_button
protected

◆ m_bru_text_bg

GBrushArray BUI::CEditTextUI::m_bru_text_bg
protected

◆ m_headdata

std::vector<std::shared_ptr<CNodeData> > BUI::CEditTextUI::m_headdata
protected

◆ m_horz_offset

int BUI::CEditTextUI::m_horz_offset
protected

◆ m_is_lb_down_in_edit_view

BOOL BUI::CEditTextUI::m_is_lb_down_in_edit_view
protected

◆ m_pefix_and_suffix_data

std::shared_ptr<CNodeDataLists> BUI::CEditTextUI::m_pefix_and_suffix_data
protected

◆ m_place_node

std::shared_ptr<CNodeData> BUI::CEditTextUI::m_place_node
protected

◆ m_progress_value

float BUI::CEditTextUI::m_progress_value
protected

◆ m_pt_auto_move_trace

POINT BUI::CEditTextUI::m_pt_auto_move_trace
protected

◆ m_rect_edit

RECT BUI::CEditTextUI::m_rect_edit
protected

◆ m_selet_start

int BUI::CEditTextUI::m_selet_start
protected

◆ m_str_rollback

BasicStringBuffer BUI::CEditTextUI::m_str_rollback
protected

◆ m_taildata

std::vector<std::shared_ptr<CNodeData> > BUI::CEditTextUI::m_taildata
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2026 · CBlueStudio 版权所有