|
SimpleWindow
|
复选框 更多...
#include <CheckBox.h>
Public 成员函数 | |
| CheckBox () | |
| 初始化复选框 | |
Public 成员函数 继承自 sw::CheckableButton | |
| CheckableButton () | |
| 初始化CheckableButton | |
| virtual | ~CheckableButton ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
Public 成员函数 继承自 sw::ButtonBase | |
| ButtonBase () | |
| 初始化ButtonBase | |
| virtual | ~ButtonBase ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
Public 成员函数 继承自 sw::Control | |
| Control () | |
| 初始化控件 | |
| virtual | ~Control ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
| virtual Control * | ToControl () override |
| 尝试将对象转换成Control | |
Public 成员函数 继承自 sw::UIElement | |
| UIElement () | |
| 初始化UIElement | |
| virtual | ~UIElement ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
| void | RegisterRoutedEvent (RoutedEventType eventType, const RoutedEventHandler &handler) |
| 注册路由事件处理函数,当事件已注册时会覆盖已注册的函数 | |
| void | AddHandler (RoutedEventType eventType, const RoutedEventHandler &handler) |
| 添加路由事件处理函数 | |
| bool | RemoveHandler (RoutedEventType eventType, const RoutedEventHandler &handler) |
| 移除已添加的路由事件处理函数 | |
| 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) |
| 获取指定元素的索引 | |
| bool | ShowContextMenu (const Point &point, sw::HorizontalAlignment horz=sw::HorizontalAlignment::Left, sw::VerticalAlignment vert=sw::VerticalAlignment::Top) |
| 弹出当前元素的上下文菜单 | |
| void | MoveToTop () |
| 移动到界面顶部 | |
| void | MoveToBottom () |
| 移动到界面底部 | |
| bool | IsRootElement () const |
| 判断当前元素是否为根节点 | |
| UIElement * | GetRootElement () |
| 获取当前元素所在界面树的根节点 | |
| UIElement * | GetNextElement () |
| 获取当前元素在界面树上的下一个节点,若已是最后一个节点则返回根节点 | |
| UIElement * | GetPreviousElement () |
| 获取当前元素在界面树上的上一个节点,若元素为第一个节点则返回最后一个节点 | |
| UIElement * | GetNextTabStopElement () |
| 获取下一个TabStop属性为true的元素 | |
| UIElement * | GetPreviousTabStopElement () |
| 获取上一个TabStop属性为true的元素 | |
| Color | GetRealBackColor () const |
| 获取当前要显示的背景颜色 | |
| Color | GetRealTextColor () const |
| 获取当前要显示的文本颜色 | |
| void | SetCursor (HCURSOR hCursor) |
| 设置鼠标样式 | |
| void | SetCursor (StandardCursor cursor) |
| 设置鼠标样式 | |
| void | ResetCursor () |
| 将鼠标样式设置为默认样式 | |
| void | SetAlignment (sw::HorizontalAlignment horz, sw::VerticalAlignment vert) |
| 设置对齐方式 | |
| void | Resize (const Size &size) |
| 调整当前元素的尺寸 | |
| bool | IsLayoutUpdateConditionSet (sw::LayoutUpdateCondition condition) |
| 判断指定的布局更新条件是否已设置 | |
| void | InvalidateMeasure () |
| 使元素的布局状态失效,并立即触发布局更新 | |
| bool | BringIntoView () |
| 尝试将当前元素移动到可视区域内 | |
| bool | AddBinding (BindingBase *binding) |
| 添加绑定对象 | |
| bool | AddBinding (Binding *binding) |
| 添加绑定对象 | |
| bool | AddBinding (DataBinding *binding) |
| 添加绑定到DataContext的绑定对象 | |
| bool | RemoveBinding (FieldId propertyId) |
| 移除指定属性的绑定对象 | |
| virtual uint64_t | GetTag () const override |
| 获取Tag | |
| virtual void | SetTag (uint64_t tag) override |
| 设置Tag | |
| virtual uint64_t | GetLayoutTag () const override |
| 获取布局标记 | |
| virtual int | GetChildLayoutCount () const override |
| 获取参与布局的子元素数量 | |
| virtual ILayout & | GetChildLayoutAt (int index) override |
| 获取对应索引处的子元素,只索引参与布局的子元素 | |
| virtual Size | GetDesireSize () const override |
| 获取当前元素所需尺寸 | |
| virtual void | Measure (const Size &availableSize) override |
| 测量元素所需尺寸 | |
| virtual void | Arrange (const sw::Rect &finalPosition) override |
| 安排元素位置 | |
| virtual UIElement * | ToUIElement () override |
| 尝试将对象转换成UIElement | |
| template<typename First , typename... Rest> | |
| auto | AddChildren (First &&first, Rest &&...rest) -> typename std::enable_if< _CanAddChildren< First, Rest... >::value, int >::type |
| 添加多个子元素 | |
| template<typename T > | |
| auto | AddChildren (T &&child) -> typename std::enable_if< _CanAddChild< T >::value, int >::type |
| 添加多个子元素 | |
| template<typename T > | |
| void | RegisterRoutedEvent (RoutedEventType eventType, T &obj, void(T::*handler)(UIElement &, RoutedEventArgs &)) |
| 注册成员函数作为路由事件处理函数,当事件已注册时会覆盖已注册的函数 | |
| template<typename TEventArgs > | |
| auto | RegisterRoutedEvent (const Action< UIElement &, TEventArgs & > &handler) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 根据事件参数类型注册路由事件,当事件已注册时会覆盖已注册的函数 | |
| template<typename TEventArgs , typename THandleObj > | |
| auto | RegisterRoutedEvent (THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 根据事件参数类型注册成员函数作为路由事件,当事件已注册时会覆盖已注册的函数 | |
| template<typename T > | |
| void | AddHandler (RoutedEventType eventType, T &obj, void(T::*handler)(UIElement &, RoutedEventArgs &)) |
| 添加成员函数作为路由事件处理函数 | |
| template<typename TEventArgs > | |
| auto | AddHandler (const Action< UIElement &, TEventArgs & > &handler) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 根据事件参数类型添加路由事件处理函数 | |
| template<typename TEventArgs , typename THandleObj > | |
| auto | AddHandler (THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 根据事件参数类型添加成员函数作为路由事件处理函数 | |
| template<typename TEventArgs > | |
| auto | AddHandler (RoutedEventType eventType, const Action< UIElement &, TEventArgs & > &handler) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&!std::is_same< TEventArgs, RoutedEventArgs >::value &&!sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 添加路由事件处理函数 | |
| template<typename TEventArgs , typename THandleObj > | |
| auto | AddHandler (RoutedEventType eventType, THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&!std::is_same< TEventArgs, RoutedEventArgs >::value &&!sw::_IsTypedRoutedEventArgs< TEventArgs >::value >::type |
| 添加成员函数作为路由事件处理函数 | |
| template<typename T > | |
| bool | RemoveHandler (RoutedEventType eventType, T &obj, void(T::*handler)(UIElement &, RoutedEventArgs &)) |
| 移除已添加的类型为成员函数的路由事件处理函数 | |
| template<typename TEventArgs > | |
| auto | RemoveHandler (const Action< UIElement &, TEventArgs & > &handler) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value, bool >::type |
| 移除已添加的路由事件处理函数 | |
| template<typename TEventArgs , typename THandleObj > | |
| auto | RemoveHandler (THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&sw::_IsTypedRoutedEventArgs< TEventArgs >::value, bool >::type |
| 移除已添加的类型为成员函数的路由事件处理函数 | |
| template<typename TEventArgs > | |
| auto | RemoveHandler (RoutedEventType eventType, const Action< UIElement &, TEventArgs & > &handler) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&!std::is_same< TEventArgs, RoutedEventArgs >::value &&!sw::_IsTypedRoutedEventArgs< TEventArgs >::value, bool >::type |
| 移除已添加的路由事件处理函数 | |
| template<typename TEventArgs , typename THandleObj > | |
| auto | RemoveHandler (RoutedEventType eventType, THandleObj &obj, void(THandleObj::*handler)(UIElement &, TEventArgs &)) -> typename std::enable_if< std::is_base_of< RoutedEventArgs, TEventArgs >::value &&!std::is_same< TEventArgs, RoutedEventArgs >::value &&!sw::_IsTypedRoutedEventArgs< TEventArgs >::value, bool >::type |
| 移除已添加的类型为成员函数的路由事件处理函数 | |
| template<typename T , typename TProperty > | |
| bool | RemoveBinding (TProperty T::*prop) |
| 移除指定属性的绑定对象 | |
Public 成员函数 继承自 sw::WndBase | |
| virtual | ~WndBase ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
| virtual Window * | ToWindow () |
| 尝试将对象转换成Window | |
| bool | Equals (const WndBase &other) const |
| 判断当前对象与另一个WndBase是否相等 | |
| virtual std::wstring | ToString () const |
| 获取当前对象的描述字符串 | |
| void | UpdateInternalRect () |
| 同步窗口位置和尺寸到内部记录的Rect | |
| void | UpdateInternalText () |
| 同步窗口文本到内部记录的字符串 | |
| void | Show (int nCmdShow) |
| 该函数调用ShowWindow | |
| void | Close () |
| 发送关闭消息 | |
| void | Update () |
| 该函数调用UpdateWindow | |
| void | UpdateFont () |
| 更新字体 | |
| HFONT | GetFontHandle () |
| 获取字体句柄 | |
| void | Redraw (bool erase=false, bool updateWindow=false) |
| 重画 | |
| bool | IsVisible () const |
| 判断当前对象在界面中是否可视,与Visible属性不同的是该函数返回值会受父窗口的影响 | |
| DWORD | GetStyle () const |
| 获取窗口样式 | |
| void | SetStyle (DWORD style) |
| 设置窗口样式 | |
| bool | GetStyle (DWORD mask) const |
| 判断窗口是否设有指定样式 | |
| void | SetStyle (DWORD mask, bool value) |
| 打开或关闭指定的样式 | |
| DWORD | GetExtendedStyle () const |
| 获取扩展窗口样式 | |
| void | SetExtendedStyle (DWORD style) |
| 设置扩展窗口样式 | |
| bool | GetExtendedStyle (DWORD mask) |
| 判断窗口是否设有指定扩展样式 | |
| void | SetExtendedStyle (DWORD mask, bool value) |
| 打开或关闭指定的扩展样式 | |
| Point | PointToScreen (const Point &point) const |
| 获取用户区点在屏幕上点的位置 | |
| Point | PointFromScreen (const Point &screenPoint) const |
| 获取屏幕上点在当前用户区点的位置 | |
| 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) |
| 测试指定点在窗口的哪一部分 | |
| void | Invoke (const SimpleAction &action) |
| 在窗口线程上执行指定委托 | |
| void | InvokeAsync (const SimpleAction &action) |
| 在窗口线程上执行指定委托,并立即返回 | |
| DWORD | GetThreadId () const |
| 获取当前窗口所属线程的线程id | |
| bool | CheckAccess () const |
| 判断当前线程是否为窗口所属线程 | |
| bool | CheckAccess (const WndBase &other) const |
| 判断当前对象所属线程是否与另一个WndBase对象所属线程相同 | |
| template<typename TDerived , typename TProperty > | |
| auto | GetProperty (TProperty TDerived::*prop) -> typename std::enable_if< std::is_base_of< WndBase, TDerived >::value &&_IsReadableProperty< TProperty >::value, typename TProperty::TValue >::type |
| 获取属性值 | |
| template<typename TDerived , typename TProperty > | |
| auto | SetProperty (TProperty TDerived::*prop, typename TProperty::TSetterParam value) -> typename std::enable_if< std::is_base_of< WndBase, TDerived >::value &&_IsWritableProperty< TProperty >::value >::type |
| 设置属性值 | |
Public 成员函数 继承自 sw::DynamicObject | |
| virtual | ~DynamicObject ()=default |
| 析构函数 | |
| std::type_index | GetTypeIndex () const |
| 获取对象的类型索引 | |
| template<typename T > | |
| bool | IsType (T **pout=nullptr) |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| bool | IsType (const T **pout=nullptr) const |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| T & | DynamicCast () |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| const T & | DynamicCast () const |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if< _IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if<!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if< _IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if<!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
Public 成员函数 继承自 sw::INotifyObjectDead | |
| virtual | ~INotifyObjectDead () |
| 析构时触发对象销毁事件 | |
Public 成员函数 继承自 sw::INotifyPropertyChanged | |
| virtual | ~INotifyPropertyChanged ()=default |
| 默认析构函数 | |
Public 成员函数 继承自 sw::IToString< WndBase > | |
| std::wstring | ToString () const |
| 获取描述当前对象的字符串 | |
Public 成员函数 继承自 sw::IEqualityComparable< WndBase > | |
| bool | Equals (const WndBase & other) const |
| 判断当前对象与另一个对象是否相等 | |
| bool | operator== (const WndBase & other) const |
| 判断当前对象是否与另一个对象相等 | |
| bool | operator!= (const WndBase & other) const |
| 判断当前对象是否与另一个对象不相等 | |
Public 成员函数 继承自 sw::ILayout | |
| virtual | ~ILayout ()=default |
| 默认虚析构函数 | |
Public 成员函数 继承自 sw::ITag | |
| virtual | ~ITag ()=default |
| 默认虚析构函数 | |
Public 属性 | |
| const Property< bool > | ThreeState |
| 是否为三态复选框 | |
Public 属性 继承自 sw::CheckableButton | |
| const Property< sw::CheckState > | CheckState |
| 选中状态 | |
| const Property< bool > | IsChecked |
| 是否选中 | |
Public 属性 继承自 sw::ButtonBase | |
| const Property< bool > | AutoSize |
| 是否自动调整大小以适应内容 | |
| const Property< bool > | MultiLine |
| 文本过长时是否自动换行 | |
| const Property< Thickness > | TextMargin |
| 文本边距 | |
Public 属性 继承自 sw::Control | |
| const ReadOnlyProperty< int > | ControlId |
| 控件的标识符 | |
| const ReadOnlyProperty< bool > | IsInHierarchy |
| 控件是否在窗口的控件层次结构中 | |
Public 属性 继承自 sw::UIElement | |
| DataContextChangedEventHandler | DataContextChanged |
| 数据上下问改变时触发该事件 | |
| const Property< Thickness > | Margin |
| 边距 | |
| const Property< HorizontalAlignment > | HorizontalAlignment |
| 水平对齐方式 | |
| const Property< VerticalAlignment > | VerticalAlignment |
| 垂直对齐方式 | |
| const ReadOnlyProperty< int > | ChildCount |
| 子元素数量 | |
| const Property< bool > | CollapseWhenHide |
| 是否在不可见时不参与布局 | |
| const ReadOnlyProperty< UIElement * > | Parent |
| 指向父元素的指针,当前元素为顶级窗口时该值为nullptr | |
| const Property< uint64_t > | Tag |
| 储存用户自定义信息的标记 | |
| const Property< uint64_t > | LayoutTag |
| 布局标记,对于不同的布局有不同含义 | |
| const Property< sw::ContextMenu * > | ContextMenu |
| 右键按下时弹出的菜单 | |
| const Property< bool > | Float |
| 元素是否悬浮,若元素悬浮则该元素不会随滚动条滚动而改变位置 | |
| const Property< bool > | TabStop |
| 表示用户是否可以通过按下Tab键将焦点移动到当前元素 | |
| const Property< Color > | BackColor |
| 背景颜色,修改该属性会同时将Transparent属性设为false,对于部分控件该属性可能不生效 | |
| const Property< Color > | TextColor |
| 文本颜色,修改该属性会同时将InheritTextColor属性设为false,对于部分控件该属性可能不生效 | |
| const Property< bool > | Transparent |
| 是否使用透明背景 | |
| const Property< bool > | InheritTextColor |
| 是否继承父元素的文本颜色 | |
| const Property< sw::LayoutUpdateCondition > | LayoutUpdateCondition |
| 触发布局更新的条件 | |
| const ReadOnlyProperty< bool > | IsMeasureValid |
| 当前元素的布局状态是否有效 | |
| const Property< double > | MinWidth |
| 最小宽度,当值为负数或0时表示不限制 | |
| const Property< double > | MinHeight |
| 最小高度,当值为负数或0时表示不限制 | |
| const Property< double > | MaxWidth |
| 最大宽度,当值为负数或0时表示不限制 | |
| const Property< double > | MaxHeight |
| 最大高度,当值为负数或0时表示不限制 | |
| const ReadOnlyProperty< sw::Rect > | LogicalRect |
| 元素的逻辑位置和尺寸,即去除布局偏移以及拉伸影响的位置和尺寸 | |
| const Property< bool > | IsHitTestVisible |
| 当前元素是否响应鼠标事件 | |
| const ReadOnlyProperty< bool > | IsFocusedViaTab |
| 当前元素是否是通过按下Tab键获得的焦点 | |
| const Property< DynamicObject * > | DataContext |
| 数据上下文 | |
| const ReadOnlyProperty< DynamicObject * > | CurrentDataContext |
| 当前元素的有效数据上下文 | |
Public 属性 继承自 sw::WndBase | |
| const ReadOnlyProperty< HWND > | Handle |
| 窗口句柄 | |
| const Property< sw::Font > | Font |
| 字体 | |
| const Property< std::wstring > | FontName |
| 字体名称 | |
| const Property< double > | FontSize |
| 字体大小 | |
| const Property< sw::FontWeight > | FontWeight |
| 字体粗细 | |
| const Property< sw::Rect > | Rect |
| 位置和尺寸 | |
| const Property< double > | Left |
| 左边 | |
| const Property< double > | Top |
| 顶边 | |
| const Property< double > | Width |
| 宽度 | |
| const Property< double > | Height |
| 高度 | |
| const ReadOnlyProperty< sw::Rect > | ClientRect |
| 用户区尺寸 | |
| const ReadOnlyProperty< double > | ClientWidth |
| 用户区宽度 | |
| const ReadOnlyProperty< double > | ClientHeight |
| 用户区高度 | |
| const Property< bool > | Enabled |
| 窗口或控件是否可用 | |
| const Property< bool > | Visible |
| 窗口或控件是否可见 | |
| const Property< std::wstring > | Text |
| 窗口标题或控件文本 | |
| const Property< bool > | Focused |
| 窗口是否拥有焦点 | |
| const ReadOnlyProperty< WndBase * > | Parent |
| 父窗口 | |
| const ReadOnlyProperty< bool > | IsDestroyed |
| 是否已销毁,当该值为true时不应该继续使用当前对象 | |
| const Property< bool > | AcceptFiles |
| 是否接受拖放文件 | |
| const ReadOnlyProperty< bool > | IsControl |
| 当前对象是否是控件 | |
| const ReadOnlyProperty< std::wstring > | ClassName |
| 窗口类名 | |
| const Property< bool > | IsGroupStart |
| 窗口是否为一组控件中的第一个控件 | |
| const ReadOnlyProperty< bool > | IsMouseCaptured |
| 鼠标是否被当前窗口捕获 | |
Public 属性 继承自 sw::INotifyObjectDead | |
| ObjectDeadEventHandler | ObjectDead |
| 对象销毁时触发该事件 | |
Public 属性 继承自 sw::INotifyPropertyChanged | |
| PropertyChangedEventHandler | PropertyChanged |
| 当属性值更改时触发的事件 | |
额外继承的成员函数 | |
静态 Public 成员函数 继承自 sw::WndBase | |
| static WndBase * | GetWndBase (HWND hwnd) noexcept |
| 通过窗口句柄获取WndBase | |
| static bool | IsPtrValid (const WndBase *ptr) noexcept |
| 检查指针是否指向有效的WndBase对象 | |
Protected 成员函数 继承自 sw::CheckableButton | |
| virtual void | OnClicked () override |
| 被单击时调用该函数 | |
| virtual void | OnDoubleClicked () override |
| 被双击时调用该函数 | |
Protected 成员函数 继承自 sw::ButtonBase | |
| void | InitButtonBase (LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle) |
| 初始化控件 | |
| virtual void | OnCommand (int code) override |
| 当父窗口接收到控件的WM_COMMAND时调用该函数 | |
| virtual Size | MeasureOverride (const Size &availableSize) override |
| 测量元素所需尺寸,无需考虑边框和边距 | |
Protected 成员函数 继承自 sw::Control | |
| bool | ResetHandle (LPVOID lpParam=NULL) |
| 销毁控件句柄并重新初始化,该操作会创建新的句柄并设置样式、文本、字体等 | |
| bool | ResetHandle (DWORD style, DWORD exStyle, LPVOID lpParam=NULL) |
| 销毁控件句柄并重新初始化,并修改样式,该操作会创建新的句柄并设置样式、文本、字体等 | |
| virtual bool | OnNotified (NMHDR *pNMHDR, LRESULT &result) override |
| 父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数 | |
| virtual bool | OnCustomDraw (NMCUSTOMDRAW *pNMCD, LRESULT &result) |
| 接收到NM_CUSTOMDRAW后调用该函数 | |
| virtual bool | OnPreErase (HDC hdc, LRESULT &result) |
| 擦除背景前调用该函数 | |
| virtual bool | OnPostErase (HDC hdc, LRESULT &result) |
| 擦除背景后调用该函数 | |
| virtual bool | OnPrePaint (HDC hdc, LRESULT &result) |
| 绘制控件前调用该函数 | |
| virtual bool | OnPostPaint (HDC hdc, LRESULT &result) |
| 绘制控件后调用该函数 | |
| virtual void | OnHandleChanged (HWND hwnd) |
| 控件句柄发生改变时调用该函数 | |
Protected 成员函数 继承自 sw::UIElement | |
| void | RaiseRoutedEvent (RoutedEventType eventType) |
| 触发路由事件 | |
| void | RaiseRoutedEvent (RoutedEventArgs &eventArgs) |
| 触发路由事件 | |
| double & | GetInternalArrangeOffsetX () |
| 获取布局时子元素的水平偏移量 | |
| double & | GetInternalArrangeOffsetY () |
| 获取布局时子元素的垂直偏移量 | |
| double | GetChildRightmost (bool update) |
| 获取所有子元素在当前元素中最右边的位置(只考虑参与布局的子窗口且忽略悬浮的元素) | |
| double | GetChildBottommost (bool update) |
| 获取所有子元素在当前元素中最底边的位置(只考虑参与布局的子窗口且忽略悬浮的元素) | |
| void | UpdateChildrenZOrder (bool invalidateMeasure=true) |
| 更新子元素的Z轴位置 | |
| void | UpdateSiblingsZOrder (bool invalidateMeasure=true) |
| 更新兄弟元素的Z轴位置 | |
| void | ClampDesireSize (sw::Size &size) const |
| 限定指定尺寸在最小和最大尺寸之间 | |
| void | ClampDesireSize (sw::Rect &rect) const |
| 限定指定矩形的尺寸在最小和最大尺寸之间 | |
| bool | QueryAllChildren (const Func< UIElement *, bool > &queryFunc) |
| 查询所有子元素,直到queryFunc返回false或所有子元素均被查询 | |
| virtual void | ArrangeOverride (const Size &finalSize) |
| 安排子元素的位置,可重写该函数以实现自定义布局 | |
| virtual void | SetBackColor (Color color, bool redraw) |
| 设置背景颜色 | |
| virtual void | SetTextColor (Color color, bool redraw) |
| 设置文本颜色 | |
| virtual bool | RequestBringIntoView (const sw::Rect &screenRect) |
| 尝试将指定的矩形区域移动到可视区域内 | |
| virtual void | OnAddedChild (UIElement &element) |
| 添加子元素后调用该函数 | |
| virtual void | OnRemovedChild (UIElement &element) |
| 移除子元素后调用该函数 | |
| virtual void | OnTabMove (bool forward) |
| 通过tab键将焦点从当前元素移出时调用该函数 | |
| virtual void | OnTabStop () |
| 通过tab键将焦点移动到当前元素时调用该函数 | |
| virtual void | OnMinMaxSizeChanged () |
| 当MinWidth、MinHeight、MaxWidth或MaxHeight属性更改时调用此函数 | |
| virtual void | OnRoutedEvent (RoutedEventArgs &eventArgs, const RoutedEventHandler &handler) |
| 路由事件经过当前元素时调用该函数 | |
| virtual bool | SetParent (WndBase *parent) override |
| 设置父窗口 | |
| virtual void | ParentChanged (WndBase *newParent) override |
| 父窗口改变时调用此函数 | |
| virtual bool | OnClose () override |
| 接收到WM_CLOSE时调用该函数 | |
| virtual bool | OnMove (const Point &newClientPosition) override |
| 接收到WM_MOVE时调用该函数 | |
| virtual bool | OnSize (const Size &newClientSize) override |
| 接收到WM_SIZE时调用该函数 | |
| virtual void | OnTextChanged () override |
| Text属性更改时调用此函数 | |
| virtual void | FontChanged (HFONT hfont) override |
| 字体改变时调用该函数 | |
| 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, const KeyFlags &flags) override |
| 接收到WM_CHAR时调用该函数 | |
| virtual bool | OnKeyDown (VirtualKey key, const KeyFlags &flags) override |
| 接收到WM_KEYDOWN时调用该函数 | |
| virtual bool | OnKeyUp (VirtualKey key, const KeyFlags &flags) override |
| 接收到WM_KEYUP时调用该函数 | |
| virtual bool | OnMouseMove (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_MOUSEMOVE时调用该函数 | |
| virtual bool | OnMouseLeave () override |
| 接收到WM_MOUSELEAVE时调用该函数 | |
| virtual bool | OnMouseWheel (int wheelDelta, const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_MOUSEWHEEL时调用该函数 | |
| virtual bool | OnMouseLeftButtonDown (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_LBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseLeftButtonUp (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_LBUTTONUP时调用该函数 | |
| virtual bool | OnMouseRightButtonDown (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_RBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseRightButtonUp (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_RBUTTONUP时调用该函数 | |
| virtual bool | OnMouseMiddleButtonDown (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_MBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseMiddleButtonUp (const Point &mousePosition, MouseKey keyState) override |
| 接收到WM_MBUTTONUP时调用该函数 | |
| virtual bool | OnContextMenu (bool isKeyboardMsg, const Point &mousePosition) override |
| 接收到WM_CONTEXTMENU后调用目标控件的该函数 | |
| 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时调用该函数 | |
| virtual void | OnNcHitTest (const Point &testPoint, HitTestResult &result) override |
| 接收到WM_NCHITTEST后调用该函数 | |
Protected 成员函数 继承自 sw::WndBase | |
| 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 &msg) |
| 调用默认的WndProc,对于窗口则调用DefWindowProcW,控件则调用_controlOldWndProc | |
| virtual LRESULT | WndProc (ProcMsg &refMsg) |
| 对WndProc的封装 | |
| virtual std::wstring & | GetInternalText () |
| 获取内部记录窗口文本的字符串引用 | |
| virtual void | SetInternalText (const std::wstring &value) |
| 修改窗口文本,该函数默认实现为调用SetWindowTextW | |
| virtual bool | OnCreate () |
| 接收到WM_CREATE时调用该函数 | |
| virtual bool | OnDestroy () |
| 接收到WM_DESTROY时调用该函数 | |
| virtual bool | OnPaint () |
| 接收到WM_PAINT时调用该函数 | |
| virtual void | OnEndPaint () |
| 在OnPaint函数完成之后调用该函数 | |
| virtual bool | OnNcPaint (HRGN hRgn) |
| 接收到WM_NCPAINT时调用该函数 | |
| virtual void | OnEndNcPaint () |
| 在OnNcPaint函数完成之后调用该函数 | |
| virtual bool | OnMouseLeftButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_LBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnMouseRightButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_RBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnMouseMiddleButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnDeadChar (wchar_t ch, const KeyFlags &flags) |
| 接收到WM_DEADCHAR时调用该函数 | |
| virtual bool | OnSysChar (wchar_t ch, const KeyFlags &flags) |
| 接收到WM_SYSCHAR时调用该函数 | |
| virtual bool | OnSysDeadChar (wchar_t ch, const KeyFlags &flags) |
| 接收到WM_SYSDEADCHAR时调用该函数 | |
| virtual bool | OnSysKeyDown (VirtualKey key, const KeyFlags &flags) |
| 接收到WM_SYSKEYDOWN时调用该函数 | |
| virtual bool | OnSysKeyUp (VirtualKey key, const 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 bool | OnMenuSelect (HMENU hMenu, int id, int flags) |
| 接收到WM_MENUSELECT后调用该函数 | |
| virtual bool | OnNotify (NMHDR *pNMHDR, LRESULT &result) |
| 接收到WM_NOTIFY后调用该函数 | |
| 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 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时调用发出通知控件的该函数 | |
Protected 成员函数 继承自 sw::ObservableObject | |
| void | RaisePropertyChanged (FieldId propertyId) |
| 触发属性更改通知事件 | |
| template<typename T , typename TProperty > | |
| void | RaisePropertyChanged (TProperty T::*property) |
| 触发属性更改通知事件 | |
复选框