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 行定义.