|
| ListBox () |
| 初始化列表框
|
|
virtual void | Clear () override |
| 清空所有子项
|
|
virtual std::wstring | GetItemAt (int index) override |
| 获取指定索引处子项的值
|
|
virtual bool | AddItem (const std::wstring &item) override |
| 添加新的子项
|
|
virtual bool | InsertItem (int index, const std::wstring &item) override |
| 添加子项到指定索引
|
|
virtual bool | UpdateItem (int index, const std::wstring &newValue) override |
| 更新指定位置的子项
|
|
virtual bool | RemoveItemAt (int index) override |
| 移除指定索引处的子项
|
|
int | GetItemIndexFromPoint (const Point &point) |
| 获取指定点处子项的索引
|
|
List< int > | GetSelectedIndices () |
| 多选状态下可通过该函数获取所有选中项的索引
|
|
StrList | GetSelectedItems () |
| 多选状态下可通过该函数获取所有选中项的内容
|
|
bool | GetItemSelectionState (int index) |
| 获取指定索引处子项的选中状态
|
|
void | SetItemSelectionState (int index, bool value) |
| 多选状态下设置指定索引处子项的选中状态
|
|
virtual bool | AddItem (const TItem &item)=0 |
| 添加新的子项
|
|
virtual bool | InsertItem (int index, const TItem &item)=0 |
| 添加子项到指定索引
|
|
virtual bool | UpdateItem (int index, const TItem &newValue)=0 |
| 更新指定位置的子项
|
|
virtual | ~Control ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类
|
|
virtual | ~UIElement ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类
|
|
void | RegisterRoutedEvent (RoutedEventType eventType, const RoutedEvent &handler) |
| 注册路由事件处理函数,当事件已注册时会覆盖已注册的函数
|
|
template<typename T > |
void | RegisterRoutedEvent (RoutedEventType eventType, T &obj, void(T::*handler)(UIElement &, RoutedEventArgs &)) |
| 注册成员函数作为路由事件处理函数,当事件已注册时会覆盖已注册的函数
|
|
template<typename TEventArgs > |
std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type | RegisterRoutedEvent (std::function< void(UIElement &, TEventArgs &)> handler) |
| 根据事件参数类型注册路由事件
|
|
template<typename TEventArgs , typename THandleObj > |
std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type | RegisterRoutedEvent (THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) |
| 根据事件参数类型注册成员函数作为路由事件
|
|
void | UnregisterRoutedEvent (RoutedEventType eventType) |
| 取消对应类型路由事件的注册
|
|
bool | IsRoutedEventRegistered (RoutedEventType eventType) |
| 判断路由事件是否已被注册
|
|
UIElement & | operator[] (int index) const |
| 通过索引获取子元素
|
|
UIElement & | GetChildAt (int index) const |
| 获取子元素
|
|
bool | AddChild (UIElement *element) |
| 添加子元素
|
|
bool | AddChild (UIElement &element) |
| 添加子元素
|
|
bool | AddChild (UIElement *element, uint64_t layoutTag) |
| 添加子元素并设置布局标记
|
|
bool | AddChild (UIElement &element, uint64_t layoutTag) |
| 添加子元素并设置布局标记
|
|
bool | RemoveChildAt (int index) |
| 移除指定索引处的子元素
|
|
bool | RemoveChild (UIElement *element) |
| 移除子元素
|
|
bool | RemoveChild (UIElement &element) |
| 移除子元素
|
|
void | ClearChildren () |
| 移除所有子元素
|
|
int | IndexOf (UIElement *element) |
| 获取指定元素的索引
|
|
int | IndexOf (UIElement &element) |
| 获取指定元素的索引
|
|
void | ShowContextMenu (const Point &point) |
| 弹出当前元素的上下文菜单
|
|
void | MoveToTop () |
| 移动到界面顶部
|
|
void | MoveToBottom () |
| 移动到界面底部
|
|
bool | IsRootElement () |
| 判断当前元素是否为根节点
|
|
UIElement * | GetRootElement () |
| 获取当前元素所在界面树的根节点
|
|
UIElement * | GetNextElement () |
| 获取当前元素在界面树上的下一个节点,若已是最后一个节点则返回根节点
|
|
UIElement * | GetNextTabStopElement () |
| 获取下一个TabStop属性为true的元素
|
|
Color | GetRealBackColor () |
| 获取当前要显示的背景颜色:当Transparent为true时获取到祖先节点中首个Transparent为false的背景颜色,否则返回当前元素的背景颜色
|
|
Color | GetRealTextColor () |
| 获取当前要显示的文本颜色:当InheritTextColor为true时获取到祖先节点中首个InheritTextColor为false的文本颜色,否则返回当前元素的文本颜色
|
|
void | SetCursor (HCURSOR hCursor) |
| 设置鼠标样式
|
|
void | SetCursor (StandardCursor cursor) |
| 设置鼠标样式
|
|
void | ResetCursor () |
| 将鼠标样式设置为默认样式
|
|
void | SetAlignment (sw::HorizontalAlignment horz, sw::VerticalAlignment vert) |
| 设置对齐方式
|
|
void | Resize (const Size &size) |
| 调整当前元素的尺寸,也可以用该函数更改默认Measure函数在当前横向或纵向对齐方式为拉伸时的DesireSize
|
|
virtual uint64_t | GetTag () override |
| 获取Tag
|
|
virtual void | SetTag (uint64_t tag) override |
| 设置Tag
|
|
virtual uint64_t | GetLayoutTag () override |
| 获取布局标记
|
|
virtual int | GetChildLayoutCount () override |
| 获取参与布局的子控件数量
|
|
virtual ILayout & | GetChildLayoutAt (int index) override |
| 获取对应索引处的子控件,使用此函数前必须先调用GetChildLayoutCount
|
|
virtual Size | GetDesireSize () override |
| 获取控件所需尺寸
|
|
virtual void | SetDesireSize (const Size &size) override |
| 设置当前控件所需的尺寸
|
|
virtual void | Measure (const Size &availableSize) override |
| 测量控件所需尺寸
|
|
virtual void | Arrange (const sw::Rect &finalPosition) override |
| 安排控件位置
|
|
virtual UIElement * | ToUIElement () override |
| 尝试将对象转换成UIElement
|
|
virtual | ~WndBase ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类
|
|
bool | operator== (const WndBase &other) const |
| 判断两个WndBase是否为同一实例
|
|
bool | operator!= (const WndBase &other) const |
| 判断两个WndBase是否为不同实例
|
|
void | Show (int nCmdShow) |
| 该函数调用ShowWindow
|
|
void | Close () |
| 发送关闭消息
|
|
void | Update () |
| 该函数调用UpdateWindow
|
|
void | UpdateFont () |
| 更新字体
|
|
HFONT | GetFontHandle () |
| 获取字体句柄
|
|
void | Redraw (bool erase=false, bool updateWindow=false) |
| 重画
|
|
bool | IsVisible () |
| 判断当前对象在界面中是否可视,与Visible属性不同的是该函数返回值会受父窗口的影响
|
|
DWORD | GetStyle () |
| 获取窗口样式
|
|
void | SetStyle (DWORD style) |
| 设置窗口样式
|
|
bool | GetStyle (DWORD mask) |
| 判断窗口是否设有指定样式
|
|
void | SetStyle (DWORD mask, bool value) |
| 打开或关闭指定的样式
|
|
DWORD | GetExtendedStyle () |
| 获取扩展窗口样式
|
|
void | SetExtendedStyle (DWORD style) |
| 设置扩展窗口样式
|
|
bool | GetExtendedStyle (DWORD mask) |
| 判断窗口是否设有指定扩展样式
|
|
void | SetExtendedStyle (DWORD mask, bool value) |
| 打开或关闭指定的扩展样式
|
|
Point | PointToScreen (const Point &point) |
| 获取用户区点在屏幕上点的位置
|
|
Point | PointFromScreen (const Point &screenPoint) |
| 获取屏幕上点在当前用户区点的位置
|
|
LRESULT | SendMessageA (UINT uMsg, WPARAM wParam, LPARAM lParam) |
| 发送消息(ASCII)
|
|
LRESULT | SendMessageW (UINT uMsg, WPARAM wParam, LPARAM lParam) |
| 发送消息(UNICODE)
|
|
BOOL | PostMessageA (UINT uMsg, WPARAM wParam, LPARAM lParam) |
| 发送消息(ASCII)并立即返回
|
|
BOOL | PostMessageW (UINT uMsg, WPARAM wParam, LPARAM lParam) |
| 发送消息(UNICODE)并立即返回
|
|
HitTestResult | NcHitTest (const Point &testPoint) |
| 测试指定点在窗口的哪一部分
|
|
virtual | ~ILayout ()=default |
| 默认虚析构函数
|
|
virtual | ~ITag ()=default |
| 默认虚析构函数
|
|
|
virtual int | GetItemsCount () override |
| 获取子项数
|
|
virtual int | GetSelectedIndex () override |
| 选中项的索引,当无选中项时为-1
|
|
virtual void | SetSelectedIndex (int index) override |
| 设置选中项索引
|
|
virtual std::wstring | GetSelectedItem () override |
| 获取选中项
|
|
virtual bool | OnContextMenu (bool isKeyboardMsg, Point mousePosition) override |
| 接收到WM_CONTEXTMENU后调用目标控件的该函数
|
|
virtual void | OnCommand (int code) override |
| 当父窗口接收到控件的WM_COMMAND时调用该函数
|
|
virtual void | OnSelectionChanged () |
| 选中项改变时调用该函数
|
|
| Control () |
| 初始化控件
|
|
void | ResetHandle (LPVOID lpParam=NULL) |
| 销毁控件句柄并重新初始化,该操作会创建新的句柄并设置样式、文本、字体等
|
|
void | ResetHandle (DWORD style, DWORD exStyle, LPVOID lpParam=NULL) |
| 销毁控件句柄并重新初始化,并修改样式,该操作会创建新的句柄并设置样式、文本、字体等
|
|
virtual void | HandleChenged () |
| 控件句柄发生改变时调用该函数
|
|
| UIElement () |
| 初始化UIElement
|
|
void | RaiseRoutedEvent (RoutedEventType eventType) |
| 触发路由事件
|
|
void | RaiseRoutedEvent (RoutedEventArgs &eventArgs) |
| 触发路由事件
|
|
void | NotifyLayoutUpdated () |
| 通知顶级窗口布局改变
|
|
double & | GetArrangeOffsetX () |
| 获取Arrange时子元素的水平偏移量
|
|
double & | GetArrangeOffsetY () |
| 获取Arrange时子元素的垂直偏移量
|
|
double | GetChildRightmost (bool update) |
| 获取所有子元素在当前元素中最右边的位置(只考虑参与布局的子窗口且忽略悬浮的元素)
|
|
double | GetChildBottommost (bool update) |
| 获取所有子元素在当前元素中最底边的位置(只考虑参与布局的子窗口且忽略悬浮的元素)
|
|
void | UpdateChildrenZOrder () |
| 更新子元素的Z轴位置
|
|
void | UpdateSiblingsZOrder () |
| 更新兄弟元素的Z轴位置
|
|
void | SetNextTabStopFocus () |
| 设置下一个TabStop属性为true的元素为焦点元素
|
|
virtual void | SetBackColor (Color color, bool redraw) |
| 设置背景颜色
|
|
virtual void | SetTextColor (Color color, bool redraw) |
| 设置文本颜色
|
|
virtual void | OnAddedChild (UIElement &element) |
| 添加子元素后调用该函数
|
|
virtual void | OnRemovedChild (UIElement &element) |
| 移除子元素后调用该函数
|
|
virtual void | OnTabStop () |
| 通过tab键将焦点移动到当前元素时调用该函数
|
|
virtual void | OnDrawFocusRect () |
| 绘制虚线框时调用该函数
|
|
virtual bool | SetParent (WndBase *parent) override |
| 设置父窗口
|
|
virtual void | ParentChanged (WndBase *newParent) override |
| 父窗口改变时调用此函数
|
|
virtual void | OnEndPaint () override |
| 在OnPaint函数完成之后调用该函数
|
|
virtual bool | OnClose () override |
| 接收到WM_CLOSE时调用该函数
|
|
virtual bool | OnMove (Point newClientPosition) override |
| 接收到WM_MOVE时调用该函数
|
|
virtual bool | OnSize (Size newClientSize) override |
| 接收到WM_SIZE时调用该函数
|
|
virtual void | OnTextChanged () override |
| Text属性更改时调用此函数
|
|
virtual void | VisibleChanged (bool newVisible) override |
| Visible属性改变时调用此函数
|
|
virtual bool | OnSetFocus (HWND hPrevFocus) override |
| 接收到WM_SETFOCUS时调用该函数
|
|
virtual bool | OnKillFocus (HWND hNextFocus) override |
| 接收到WM_KILLFOCUS时调用该函数
|
|
virtual bool | OnChar (wchar_t ch, KeyFlags flags) override |
| 接收到WM_CHAR时调用该函数
|
|
virtual bool | OnKeyDown (VirtualKey key, KeyFlags flags) override |
| 接收到WM_KEYDOWN时调用该函数
|
|
virtual bool | OnKeyUp (VirtualKey key, KeyFlags flags) override |
| 接收到WM_KEYUP时调用该函数
|
|
virtual bool | OnMouseMove (Point mousePosition, MouseKey keyState) override |
| 接收到WM_MOUSEMOVE时调用该函数
|
|
virtual bool | OnMouseLeave () override |
| 接收到WM_MOUSELEAVE时调用该函数
|
|
virtual bool | OnMouseWheel (int wheelDelta, Point mousePosition, MouseKey keyState) override |
| 接收到WM_MOUSEWHEEL时调用该函数
|
|
virtual bool | OnMouseLeftButtonDown (Point mousePosition, MouseKey keyState) override |
| 接收到WM_LBUTTONDOWN时调用该函数
|
|
virtual bool | OnMouseLeftButtonUp (Point mousePosition, MouseKey keyState) override |
| 接收到WM_LBUTTONUP时调用该函数
|
|
virtual bool | OnMouseRightButtonDown (Point mousePosition, MouseKey keyState) override |
| 接收到WM_RBUTTONDOWN时调用该函数
|
|
virtual bool | OnMouseRightButtonUp (Point mousePosition, MouseKey keyState) override |
| 接收到WM_RBUTTONUP时调用该函数
|
|
virtual bool | OnMouseMiddleButtonDown (Point mousePosition, MouseKey keyState) override |
| 接收到WM_MBUTTONDOWN时调用该函数
|
|
virtual bool | OnMouseMiddleButtonUp (Point mousePosition, MouseKey keyState) override |
| 接收到WM_MBUTTONUP时调用该函数
|
|
virtual void | OnMenuCommand (int id) override |
| 当WM_COMMAND接收到菜单命令时调用该函数
|
|
virtual bool | OnColor (HDC hdc, HBRUSH &hRetBrush) override |
| 父窗口接收到WM_CTLCOLORxxx时调用对应控件的该函数
|
|
virtual bool | OnSetCursor (HWND hwnd, HitTestResult hitTest, int message, bool &result) override |
| 接收到WM_SETCURSOR消息时调用该函数
|
|
virtual bool | OnDropFiles (HDROP hDrop) override |
| 接收到WM_DROPFILES时调用该函数
|
|
| WndBase () |
| 初始化WndBase
|
|
| WndBase (const WndBase &)=delete |
|
| WndBase (WndBase &&)=delete |
|
WndBase & | operator= (const WndBase &)=delete |
|
WndBase & | operator= (WndBase &&)=delete |
|
void | InitWindow (LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle) |
| 初始化为窗口,该函数会调用CreateWindowExW
|
|
void | InitControl (LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle, LPVOID lpParam=NULL) |
| 初始化为控件,该函数会调用CreateWindowExW
|
|
LRESULT | DefaultWndProc (const ProcMsg &refMsg) |
| 调用默认的WndProc,对于窗口则调用DefWindowProcW,控件则调用_controlOldWndProc
|
|
virtual LRESULT | WndProc (const ProcMsg &refMsg) |
| 对WndProc的封装
|
|
void | UpdateText () |
| 更新_text字段
|
|
virtual std::wstring & | GetText () |
| 获取窗口文本
|
|
virtual void | SetText (const std::wstring &value) |
| 调用SetWindowTextW设置窗口文本
|
|
virtual bool | OnCreate () |
| 接收到WM_CREATE时调用该函数
|
|
virtual bool | OnDestroy () |
| 接收到WM_DESTROY时调用该函数
|
|
virtual bool | OnPaint () |
| 接收到WM_PAINT时调用该函数
|
|
virtual bool | OnMouseLeftButtonDoubleClick (Point mousePosition, MouseKey keyState) |
| 接收到WM_LBUTTONDBLCLK时调用该函数
|
|
virtual bool | OnMouseRightButtonDoubleClick (Point mousePosition, MouseKey keyState) |
| 接收到WM_RBUTTONDBLCLK时调用该函数
|
|
virtual bool | OnMouseMiddleButtonDoubleClick (Point mousePosition, MouseKey keyState) |
| 接收到WM_MBUTTONDBLCLK时调用该函数
|
|
virtual bool | OnDeadChar (wchar_t ch, KeyFlags flags) |
| 接收到WM_DEADCHAR时调用该函数
|
|
virtual bool | OnSysChar (wchar_t ch, KeyFlags flags) |
| 接收到WM_SYSCHAR时调用该函数
|
|
virtual bool | OnSysDeadChar (wchar_t ch, KeyFlags flags) |
| 接收到WM_SYSDEADCHAR时调用该函数
|
|
virtual bool | OnSysKeyDown (VirtualKey key, KeyFlags flags) |
| 接收到WM_SYSKEYDOWN时调用该函数
|
|
virtual bool | OnSysKeyUp (VirtualKey key, KeyFlags flags) |
| 接收到WM_SYSKEYUP时调用该函数
|
|
virtual void | OnControlCommand (WndBase *pControl, int code, int id) |
| 当WM_COMMAND接收到控件命令时调用该函数
|
|
virtual void | OnAcceleratorCommand (int id) |
| 当WM_COMMAND接收到快捷键命令时调用该函数
|
|
virtual void | HandleInitialized (HWND hwnd) |
| 窗口句柄初始化完成
|
|
virtual void | FontChanged (HFONT hfont) |
| 字体改变时调用该函数
|
|
virtual bool | OnNotify (NMHDR *pNMHDR, LRESULT &result) |
| 接收到WM_NOTIFY后调用该函数
|
|
virtual bool | OnNotified (NMHDR *pNMHDR, LRESULT &result) |
| 父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
|
|
virtual bool | OnVerticalScroll (int event, int pos) |
| 接收到WM_VSCROLL时调用目标控件的该函数
|
|
virtual bool | OnHorizontalScroll (int event, int pos) |
| 接收到WM_HSCROLL时调用目标控件的该函数
|
|
virtual bool | OnEnabledChanged (bool newValue) |
| 接收到WM_ENABLE时调用该函数
|
|
virtual bool | OnCtlColor (WndBase *pControl, HDC hdc, HBRUSH &hRetBrush) |
| 接收到WM_CTLCOLORxxx时调用该函数
|
|
virtual void | OnNcHitTest (const Point &testPoint, HitTestResult &result) |
| 接收到WM_NCHITTEST后调用该函数
|
|
virtual bool | OnEraseBackground (HDC hdc, LRESULT &result) |
| 接收到WM_ERASEBKGND时调用该函数
|
|
virtual bool | OnDrawItem (int id, DRAWITEMSTRUCT *pDrawItem) |
| 接收到WM_DRAWITEM时调用该函数
|
|
virtual bool | OnDrawItemSelf (DRAWITEMSTRUCT *pDrawItem) |
| 父窗口接收到WM_DRAWITEM后且父窗口OnDrawItem函数返回false时调用发出通知控件的该函数
|
|
virtual bool | OnMeasureItem (int id, MEASUREITEMSTRUCT *pMeasure) |
| 接收到WM_MEASUREITEM时调用该函数
|
|
virtual bool | OnMeasureItemSelf (MEASUREITEMSTRUCT *pMeasure) |
| 父窗口接收到WM_MEASUREITEM后且父窗口OnMeasureItem函数返回false时调用发出通知控件的该函数
|
|