![]() |
HiEasyX
Ver 0.3.0
EasyX 全面扩展库
|
滚动条控件 更多...
#include <ScrollBar.h>
类 | |
| struct | ScrollBarInfo |
| 滚动条信息 更多... | |
Public 成员函数 | |
| ScrollBar () | |
| ScrollBar (int x, int y, int w, int h, int len, int pos, bool bHorizontal=false) | |
| int | GetButtonHeight () const |
| void | SetButtonHeight (int h) |
| 设置按钮高度(竖直放置时生效) 更多... | |
| int | GetButtonWidth () const |
| void | SetButtonWidth (int w) |
| 设置按钮宽度(水平放置时生效) 更多... | |
| bool | IsDragging () const |
| 判断是否正在拖动 更多... | |
| int | GetSliderLength () const |
| 获取滑块像素长度 更多... | |
| int | GetSliderContentPos () const |
| 获取滑块内容位置 更多... | |
| void | SetSliderContentPos (float pos) |
| 设置滑块内容位置 更多... | |
| void | MoveSlider (float d) |
| 相对移动滑块的内容位置 更多... | |
| int | GetContentLength () const |
| 获取滚动条内容长度 更多... | |
| void | SetContentLength (int len) |
| 设置滚动条内容长度 更多... | |
| int | GetViewLength () const |
| void | SetViewLength (int len) |
| 设置视野内容长度 更多... | |
| int | GetSliderSpeed () const |
| void | SetSliderSpeed (int speed) |
| 设置按下按钮时滑块的运行速度 更多... | |
| bool | IsHorizontal () const |
| void | EnableHorizontal (bool enable) |
| 启用水平放置 更多... | |
| bool | IsSliderPosChanged () |
| 判断滑块位置是否改变 更多... | |
| RECT | GetOnWheelRect () const |
| 获取响应滚轮消息的区域(未自定义时返回空区域) 更多... | |
| void | SetOnWheelRect (RECT rct) |
| 设置响应滚轮消息的区域(客户区坐标) 更多... | |
| void | UpdateRect (RECT rctOld) override |
| 更新区域消息处理 更多... | |
| void | UpdateMessage (ExMessage msg) override |
| 更新消息 更多... | |
| void | Draw (bool draw_child=true) override |
| 绘制控件 更多... | |
Public 成员函数 继承自 HiEasyX::ControlBase | |
| ControlBase () | |
| ControlBase (std::wstring wstrText) | |
| ControlBase (int x, int y, int w=0, int h=0, std::wstring wstrText=L"") | |
| virtual | ~ControlBase () |
| ControlBase * | GetParent () |
| virtual void | SetParent (ControlBase *p) |
| 设置父控件(父控件调用 AddChild) 更多... | |
| virtual bool | IsAutoSizeForChild () const |
| virtual void | EnableAutoSizeForChild (bool enable) |
| 为子控件自动改变大小以容纳控件(不容纳负坐标部分) 更多... | |
| std::list< ControlBase * > & | GetChildList () |
| size_t | GetChildCount () |
| 获取子控件总数 更多... | |
| virtual void | AddChild (ControlBase *p, int offset_x=0, int offset_y=0) |
| virtual void | RemoveChild (ControlBase *p) |
| virtual bool | IsEnabled () const |
| virtual void | SetEnable (bool enable) |
| virtual bool | IsVisible () const |
| virtual void | SetVisible (bool visible) |
| virtual bool | GetAutoRedrawState () const |
| virtual void | EnableAutoRedraw (bool enable) |
| 启用自动重绘(接受到基础消息事件时自动标识需要重绘) 更多... | |
| virtual Canvas & | GetCanvas () |
| virtual COLORREF | GetBkColor () const |
| virtual void | SetBkColor (COLORREF color) |
| virtual COLORREF | GetTextColor () const |
| virtual void | SetTextColor (COLORREF color) |
| virtual void | EnableBorder (bool bEnableBorder, COLORREF color=BLACK, int thickness=1) |
| virtual void | SetAlpha (BYTE alpha, bool bUseCanvasAlpha, bool isAlphaCalculated) |
| virtual std::wstring | GetText () const |
| virtual void | SetText (std::wstring wstr) |
| virtual void | Draw_Text (int nTextOffsetX=0, int nTextOffsetY=0) |
| virtual void | Redraw () |
| 重绘控件 更多... | |
| virtual void | Render (Canvas *dst, RECT *pRct=nullptr, int *pCount=0) |
| 渲染控件到外部 更多... | |
| virtual void | SetMsgProcFunc (MESSAGE_PROC_FUNC func) |
| 设置消息响应函数 更多... | |
| virtual void | SetMsgProcFunc (MESSAGE_PROC_FUNC_CLASS static_class_func, void *_this) |
| 设置消息响应函数为静态类函数 更多... | |
| virtual bool | IsHovered () const |
| 判断鼠标是否悬停 更多... | |
| virtual bool | IsFocused () const |
| 判断是否拥有焦点 更多... | |
| virtual bool | IsPressed () const |
| 判断是否按下 更多... | |
Public 成员函数 继承自 HiEasyX::Container | |
| Container () | |
| virtual | ~Container () |
| RECT | GetRect () const |
| void | SetRect (int x, int y, int w, int h) |
| 设置位置和宽高 更多... | |
| void | SetRect (RECT rct) |
| 设置矩形区域 更多... | |
| POINT | GetPos () const |
| int | GetX () const |
| int | GetY () const |
| void | SetPos (int x, int y) |
| void | SetPos (POINT pt) |
| void | Move (int x, int y) |
| void | MoveRel (int dx, int dy) |
| int | GetWidth () const |
| void | SetWidth (int w) |
| int | GetHeight () const |
| void | SetHeight (int h) |
| void | Resize (int w, int h) |
Protected 成员函数 | |
| virtual void | Init () |
| 初始化 更多... | |
| virtual void | OnNormalButtonMsg () |
| 响应普通按钮消息(Up 和 Down) 更多... | |
| virtual void | UpdateSliderRect () |
| 更新滑块位置区域 更多... | |
| void | UpdatePosRatio () |
| 更新位置比例 更多... | |
| void | UpdateViewRatio () |
| 更新视野比例 更多... | |
| void | UpdateScrollBarInfo () |
| 更新滚动条信息 更多... | |
Protected 成员函数 继承自 HiEasyX::ControlBase | |
| void | MarkNeedRedrawAndRender () |
| 标记需要重绘和渲染 更多... | |
| void | MarkNeedClearRect (RECT rct) |
| 标记需要清空矩形区域 更多... | |
| virtual void | DrawChild () |
| 绘制子控件 更多... | |
| virtual ExMessage & | TransformMessage (ExMessage &msg) |
| 转换消息 更多... | |
| virtual void | CallUserMsgProcFunc (int msgid, ExMessage msg) |
| 分发消息到用户函数 更多... | |
| virtual void | ChildRectChanged (ControlBase *pChild) |
| 子控件区域变更 更多... | |
静态 Protected 成员函数 | |
| static void | OnSpecialButtonMsg (void *pThis, ControlBase *pCtrl, int msgid, ExMessage msg) |
| 响应特殊按钮消息(Top 和 Bottom) 更多... | |
Protected 属性 | |
| int | m_nBtnHeight = 20 |
| 按钮高度(竖直放置时有效) 更多... | |
| int | m_nBtnWidth = 20 |
| 按钮宽度(水平放置时有效) 更多... | |
| bool | m_bHorizontal = false |
| 是否水平放置 更多... | |
| int | m_nDrawInterval = 6 |
| 绘制间隙 更多... | |
| Button | m_btnTop |
| Button | m_btnUp |
| Button | m_btnDown |
| Button | m_btnBottom |
| Button | m_btnDrag |
| MouseDrag | m_MouseDrag |
| bool | m_bDragging = false |
| 是否正在拖动 更多... | |
| int | m_nSliderSpeed = 20 |
| 按住按钮时滑块每秒运行的内容长度 更多... | |
| clock_t | m_tPressed = 0 |
| 按钮按住计时 更多... | |
| float | m_fPos = 0 |
| 滑块内容位置 更多... | |
| int | m_nLen = 0 |
| 内容总长度 更多... | |
| float | m_fPosRatio = 0 |
| 滑块内容位置比例 更多... | |
| ScrollBarInfo | m_info = {} |
| 滚动条信息 更多... | |
| int | m_nViewLen = 10 |
| 视野内容长度 更多... | |
| float | m_fViewRatio = 1 |
| 视野范围占总长度的比 更多... | |
| bool | m_bSliderPosChanged = false |
| 标记滑块位置改变 更多... | |
| RECT | m_rctOnWheel = { 0 } |
| 响应滚轮消息的区域(客户区坐标) 更多... | |
| bool | m_bSetOnWheelRct = false |
| 是否设置了滚轮消息的响应区域 更多... | |
Protected 属性 继承自 HiEasyX::ControlBase | |
| bool | m_bEnabled = true |
| 是否可用 更多... | |
| bool | m_bVisible = true |
| 是否可见 更多... | |
| bool | m_bAutoRedrawWhenReceiveMsg = true |
| 当默认消息处理函数接受到消息时,是否自动标识重绘和渲染 更多... | |
| bool | m_bRedraw = true |
| 标识需要重绘 更多... | |
| bool | m_bRender = true |
| 标识需要渲染 更多... | |
| bool | m_bClear = false |
| 标识需要清空某区域 更多... | |
| RECT | m_rctClear = { 0 } |
| 记录需要清空的区域 更多... | |
| bool | m_bAlwaysRedrawAndRender = false |
| 总是重绘和渲染(占用更高) 更多... | |
| std::wstring | m_wstrText |
| 控件文本 更多... | |
| Canvas | m_canvas |
| 画布 更多... | |
| BYTE | m_alpha = 255 |
| 透明度 更多... | |
| bool | m_bUseCanvasAlpha = false |
| 是否使用画布自身的透明度信息 更多... | |
| bool | m_isAlphaCalculated = false |
| 画布是否已经计算透明混合颜色 更多... | |
| COLORREF | m_cBorder = MODERN_BORDER_GRAY |
| 边框颜色 更多... | |
| COLORREF | m_cBackground = CLASSICGRAY |
| 背景色 更多... | |
| COLORREF | m_cText = BLACK |
| 文本颜色 更多... | |
| bool | m_bEnableBorder = true |
| 是否绘制边框 更多... | |
| int | m_nBorderThickness = 1 |
| 边框粗细 更多... | |
| bool | m_bCompleteFirstSetRect = false |
| 是否已经完成第一次设置区域 更多... | |
| ControlBase * | m_pParent = nullptr |
| 父控件 更多... | |
| std::list< ControlBase * > | m_listChild |
| 子控件 更多... | |
| bool | m_bAutoSizeForChild = false |
| 为子控件自动改变大小以容纳控件 更多... | |
| MESSAGE_PROC_FUNC | m_funcMessageProc = nullptr |
| 消息处理函数 更多... | |
| MESSAGE_PROC_FUNC_CLASS | m_funcMessageProc_Class = nullptr |
| 若绑定的消息处理函数是静态类函数,则记录其地址 更多... | |
| void * | m_pCalledClass = nullptr |
| 若绑定的消息处理函数是静态类函数,则记录该类指针 更多... | |
| bool | m_bHovered = false |
| 鼠标是否悬停 更多... | |
| bool | m_bPressed = false |
| 鼠标是否按下 更多... | |
| bool | m_bFocused = false |
| 是否拥有焦点 更多... | |
Protected 属性 继承自 HiEasyX::Container | |
| RECT | m_rct = { 0 } |
| 容器区域 更多... | |
滚动条控件
在文件 ScrollBar.h 第 20 行定义.
| HiEasyX::ScrollBar::ScrollBar | ( | ) |
在文件 ScrollBar.cpp 第 141 行定义.
| HiEasyX::ScrollBar::ScrollBar | ( | int | x, |
| int | y, | ||
| int | w, | ||
| int | h, | ||
| int | len, | ||
| int | pos, | ||
| bool | bHorizontal = false |
||
| ) |
在文件 ScrollBar.cpp 第 146 行定义.
|
overridevirtual |
| void HiEasyX::ScrollBar::EnableHorizontal | ( | bool | enable | ) |
|
inline |
在文件 ScrollBar.h 第 114 行定义.
|
inline |
在文件 ScrollBar.h 第 122 行定义.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
在文件 ScrollBar.h 第 176 行定义.
|
inline |
在文件 ScrollBar.h 第 168 行定义.
|
protectedvirtual |
|
inline |
|
inline |
在文件 ScrollBar.h 第 184 行定义.
| bool HiEasyX::ScrollBar::IsSliderPosChanged | ( | ) |
| void HiEasyX::ScrollBar::MoveSlider | ( | float | d | ) |
|
protectedvirtual |
|
staticprotected |
响应特殊按钮消息(Top 和 Bottom)
| [in] | pThis | 类指针 |
| [in] | pCtrl | 控件 |
| [in] | msgid | 消息 ID |
| [in] | msg | 消息内容 |
在文件 ScrollBar.cpp 第 5 行定义.
| void HiEasyX::ScrollBar::SetButtonHeight | ( | int | h | ) |
| void HiEasyX::ScrollBar::SetButtonWidth | ( | int | w | ) |
| void HiEasyX::ScrollBar::SetContentLength | ( | int | len | ) |
| void HiEasyX::ScrollBar::SetOnWheelRect | ( | RECT | rct | ) |
| void HiEasyX::ScrollBar::SetSliderContentPos | ( | float | pos | ) |
| void HiEasyX::ScrollBar::SetSliderSpeed | ( | int | speed | ) |
| void HiEasyX::ScrollBar::SetViewLength | ( | int | len | ) |
|
overridevirtual |
|
protected |
|
overridevirtual |
|
protected |
|
protectedvirtual |
更新滑块位置区域
在文件 ScrollBar.cpp 第 68 行定义.
|
protected |
|
protected |
是否正在拖动
在文件 ScrollBar.h 第 51 行定义.
|
protected |
是否水平放置
在文件 ScrollBar.h 第 40 行定义.
|
protected |
是否设置了滚轮消息的响应区域
在文件 ScrollBar.h 第 67 行定义.
|
protected |
标记滑块位置改变
在文件 ScrollBar.h 第 64 行定义.
|
protected |
在文件 ScrollBar.h 第 48 行定义.
|
protected |
在文件 ScrollBar.h 第 47 行定义.
|
protected |
在文件 ScrollBar.h 第 49 行定义.
|
protected |
在文件 ScrollBar.h 第 45 行定义.
|
protected |
在文件 ScrollBar.h 第 46 行定义.
|
protected |
滑块内容位置
在文件 ScrollBar.h 第 55 行定义.
|
protected |
滑块内容位置比例
在文件 ScrollBar.h 第 57 行定义.
|
protected |
视野范围占总长度的比
在文件 ScrollBar.h 第 62 行定义.
|
protected |
滚动条信息
在文件 ScrollBar.h 第 59 行定义.
|
protected |
在文件 ScrollBar.h 第 50 行定义.
|
protected |
按钮高度(竖直放置时有效)
在文件 ScrollBar.h 第 37 行定义.
|
protected |
按钮宽度(水平放置时有效)
在文件 ScrollBar.h 第 38 行定义.
|
protected |
绘制间隙
在文件 ScrollBar.h 第 42 行定义.
|
protected |
内容总长度
在文件 ScrollBar.h 第 56 行定义.
|
protected |
按住按钮时滑块每秒运行的内容长度
在文件 ScrollBar.h 第 52 行定义.
|
protected |
视野内容长度
在文件 ScrollBar.h 第 61 行定义.
|
protected |
响应滚轮消息的区域(客户区坐标)
在文件 ScrollBar.h 第 66 行定义.
|
protected |
按钮按住计时
在文件 ScrollBar.h 第 53 行定义.