|
SimpleWindow
|
表示一个Windows窗口,是所有窗口和控件的基类 更多...
#include <WndBase.h>
Public 成员函数 | |
| virtual | ~WndBase ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
| virtual UIElement * | ToUIElement () |
| 尝试将对象转换成UIElement | |
| virtual Control * | ToControl () |
| 尝试将对象转换成Control | |
| 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 成员函数 | |
| static WndBase * | GetWndBase (HWND hwnd) noexcept |
| 通过窗口句柄获取WndBase | |
| static bool | IsPtrValid (const WndBase *ptr) noexcept |
| 检查指针是否指向有效的WndBase对象 | |
Public 属性 | |
| 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 |
| 当属性值更改时触发的事件 | |
Protected 成员函数 | |
| 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 | OnClose () |
| 接收到WM_CLOSE时调用该函数 | |
| 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 | OnMove (const Point &newClientPosition) |
| 接收到WM_MOVE时调用该函数 | |
| virtual bool | OnSize (const Size &newClientSize) |
| 接收到WM_SIZE时调用该函数 | |
| virtual void | OnTextChanged () |
| Text属性更改时调用此函数 | |
| virtual bool | OnSetFocus (HWND hPrevFocus) |
| 接收到WM_SETFOCUS时调用该函数 | |
| virtual bool | OnKillFocus (HWND hNextFocus) |
| 接收到WM_KILLFOCUS时调用该函数 | |
| virtual bool | OnMouseMove (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MOUSEMOVE时调用该函数 | |
| virtual bool | OnMouseLeave () |
| 接收到WM_MOUSELEAVE时调用该函数 | |
| virtual bool | OnMouseWheel (int wheelDelta, const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MOUSEWHEEL时调用该函数 | |
| virtual bool | OnMouseLeftButtonDown (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_LBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseLeftButtonUp (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_LBUTTONUP时调用该函数 | |
| virtual bool | OnMouseLeftButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_LBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnMouseRightButtonDown (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_RBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseRightButtonUp (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_RBUTTONUP时调用该函数 | |
| virtual bool | OnMouseRightButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_RBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnMouseMiddleButtonDown (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MBUTTONDOWN时调用该函数 | |
| virtual bool | OnMouseMiddleButtonUp (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MBUTTONUP时调用该函数 | |
| virtual bool | OnMouseMiddleButtonDoubleClick (const Point &mousePosition, MouseKey keyState) |
| 接收到WM_MBUTTONDBLCLK时调用该函数 | |
| virtual bool | OnChar (wchar_t ch, const KeyFlags &flags) |
| 接收到WM_CHAR时调用该函数 | |
| virtual bool | OnDeadChar (wchar_t ch, const KeyFlags &flags) |
| 接收到WM_DEADCHAR时调用该函数 | |
| virtual bool | OnKeyDown (VirtualKey key, const KeyFlags &flags) |
| 接收到WM_KEYDOWN时调用该函数 | |
| virtual bool | OnKeyUp (VirtualKey key, const KeyFlags &flags) |
| 接收到WM_KEYUP时调用该函数 | |
| 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 | VisibleChanged (bool newVisible) |
| Visible属性改变时调用此函数 | |
| virtual bool | SetParent (WndBase *parent) |
| 设置父窗口 | |
| virtual void | ParentChanged (WndBase *newParent) |
| 父窗口改变时调用此函数 | |
| virtual void | OnCommand (int code) |
| 当父窗口接收到控件的WM_COMMAND时调用该函数 | |
| virtual void | OnControlCommand (WndBase *pControl, int code, int id) |
| 当WM_COMMAND接收到控件命令时调用该函数 | |
| virtual void | OnMenuCommand (int id) |
| 当WM_COMMAND接收到菜单命令时调用该函数 | |
| virtual void | OnAcceleratorCommand (int id) |
| 当WM_COMMAND接收到快捷键命令时调用该函数 | |
| virtual void | HandleInitialized (HWND hwnd) |
| 窗口句柄初始化完成 | |
| virtual void | FontChanged (HFONT hfont) |
| 字体改变时调用该函数 | |
| virtual bool | OnSetCursor (HWND hwnd, HitTestResult hitTest, int message, bool &result) |
| 接收到WM_SETCURSOR消息时调用该函数 | |
| virtual bool | OnContextMenu (bool isKeyboardMsg, const Point &mousePosition) |
| 接收到WM_CONTEXTMENU后调用目标控件的该函数 | |
| virtual bool | OnMenuSelect (HMENU hMenu, int id, int flags) |
| 接收到WM_MENUSELECT后调用该函数 | |
| 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 bool | OnColor (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时调用发出通知控件的该函数 | |
| virtual bool | OnDropFiles (HDROP hDrop) |
| 接收到WM_DROPFILES时调用该函数 | |
Protected 成员函数 继承自 sw::ObservableObject | |
| void | RaisePropertyChanged (FieldId propertyId) |
| 触发属性更改通知事件 | |
| template<typename T , typename TProperty > | |
| void | RaisePropertyChanged (TProperty T::*property) |
| 触发属性更改通知事件 | |
友元 | |
| class | Control |
| class | HwndWrapper |
表示一个Windows窗口,是所有窗口和控件的基类
|
protectedvirtual |
| bool sw::WndBase::GetExtendedStyle | ( | DWORD | mask | ) |
判断窗口是否设有指定扩展样式
| mask | 扩展样式的位掩码,可以是多个扩展样式 |
|
protectedvirtual |
获取内部记录窗口文本的字符串引用
被 sw::ComboBox , 以及 sw::TextBoxBase 重载.
|
inline |
获取属性值
| prop | 属性成员指针 |
| bool sw::WndBase::GetStyle | ( | DWORD | mask | ) | const |
判断窗口是否设有指定样式
| mask | 样式的位掩码,可以是多个样式 |
|
staticnoexcept |
通过窗口句柄获取WndBase
| hwnd | 窗口句柄 |
|
protectedvirtual |
窗口句柄初始化完成
| hwnd | 窗口句柄 |
| void sw::WndBase::Invoke | ( | const SimpleAction & | action | ) |
在窗口线程上执行指定委托
| action | 要执行的委托 |
| void sw::WndBase::InvokeAsync | ( | const SimpleAction & | action | ) |
在窗口线程上执行指定委托,并立即返回
| action | 要执行的委托 |
| HitTestResult sw::WndBase::NcHitTest | ( | const Point & | testPoint | ) |
测试指定点在窗口的哪一部分
| testPoint | 要测试的点在屏幕中的位置 |
|
protectedvirtual |
当WM_COMMAND接收到快捷键命令时调用该函数
| id | 快捷键id |
|
protectedvirtual |
接收到WM_CHAR时调用该函数
| ch | 按键的字符代码 |
| flags | 附加信息 |
被 sw::TextBoxBase , 以及 sw::UIElement 重载.
|
protectedvirtual |
|
protectedvirtual |
父窗口接收到WM_CTLCOLORxxx时调用对应控件的该函数
| hdc | 控件的显示上下文句柄 |
| hRetBrush | 要返回的画笔 |
被 sw::UIElement 重载.
|
protectedvirtual |
当父窗口接收到控件的WM_COMMAND时调用该函数
| code | 通知代码 |
被 sw::ButtonBase, sw::ComboBox, sw::HotKeyControl, sw::ListBox , 以及 sw::TextBoxBase 重载.
|
protectedvirtual |
接收到WM_CONTEXTMENU后调用目标控件的该函数
| isKeyboardMsg | 消息是否由按下快捷键(Shift+F10、VK_APPS)产生 |
| mousePosition | 鼠标在屏幕中的位置 |
被 sw::ListBox, sw::SplitButton , 以及 sw::UIElement 重载.
|
protectedvirtual |
当WM_COMMAND接收到控件命令时调用该函数
| pControl | 控件对象指针 |
| code | 通知代码 |
| id | 控件id |
|
protectedvirtual |
|
protectedvirtual |
接收到WM_CTLCOLORxxx时调用该函数
| pControl | 消息相关的控件 |
| hdc | 控件的显示上下文句柄 |
| hRetBrush | 要返回的画笔 |
|
protectedvirtual |
接收到WM_DEADCHAR时调用该函数
| ch | 按键的字符代码 |
| flags | 附加信息 |
|
protectedvirtual |
接收到WM_DESTROY时调用该函数
被 sw::BmpBox, sw::HwndHost, sw::IconBox , 以及 sw::Window 重载.
|
protectedvirtual |
接收到WM_DRAWITEM时调用该函数
| id | 控件的标识符,若消息是通过菜单发送的则此参数为零 |
| pDrawItem | 包含有关要绘制的项和所需绘图类型的信息的结构体指针 |
|
protectedvirtual |
父窗口接收到WM_DRAWITEM后且父窗口OnDrawItem函数返回false时调用发出通知控件的该函数
| pDrawItem | 包含有关要绘制的项和所需绘图类型的信息的结构体指针 |
|
protectedvirtual |
接收到WM_DROPFILES时调用该函数
| hDrop | 描述拖入文件的句柄 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_ENABLE时调用该函数
| newValue | Enabled的新值 |
|
protectedvirtual |
接收到WM_ERASEBKGND时调用该函数
| hdc | 设备上下文句柄 |
| result | 若已处理该消息则设为非零值,默认值为0 |
被 sw::BmpBox, sw::Panel , 以及 sw::Window 重载.
|
protectedvirtual |
接收到WM_HSCROLL时调用目标控件的该函数
| event | 事件类型,即消息wParam的低字 |
| pos | 当前滚动条的位置,仅当event为SB_THUMBPOSITION或SB_THUMBTRACK时有效 |
被 sw::Layer, sw::PanelBase , 以及 sw::Slider 重载.
|
protectedvirtual |
接收到WM_KEYDOWN时调用该函数
| key | 虚拟按键 |
| flags | 附加信息 |
被 sw::Button, sw::CommandLink, sw::DockSplitter, sw::TextBoxBase , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_KEYUP时调用该函数
| key | 虚拟按键 |
| flags | 附加信息 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_KILLFOCUS时调用该函数
| hNextFocus | 接收到焦点的hwnd,可能为NULL |
被 sw::Button, sw::CommandLink, sw::DockSplitter, sw::SpinBox , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MEASUREITEM时调用该函数
| id | 控件的标识符,若消息是通过菜单发送的则此参数为零 |
| pMeasure | 包含有关要绘制的项的信息的结构体指针 |
|
protectedvirtual |
父窗口接收到WM_MEASUREITEM后且父窗口OnMeasureItem函数返回false时调用发出通知控件的该函数
| pMeasure | 包含有关要绘制的项的信息的结构体指针 |
|
protectedvirtual |
|
protectedvirtual |
接收到WM_MENUSELECT后调用该函数
| hMenu | 当前被点击的菜单句柄 |
| id | 若选中的菜单项打开了子菜单则该值为菜单项在其父菜单中的索引,否则为菜单项的id |
| flags | 菜单项的标志(MF_*) |
|
protectedvirtual |
|
protectedvirtual |
接收到WM_LBUTTONDBLCLK时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
|
protectedvirtual |
接收到WM_LBUTTONDOWN时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::DockSplitter , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_LBUTTONUP时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::DockSplitter , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MBUTTONDBLCLK时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
|
protectedvirtual |
接收到WM_MBUTTONDOWN时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MBUTTONUP时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MOUSEMOVE时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::DockSplitter , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_RBUTTONDBLCLK时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
|
protectedvirtual |
接收到WM_RBUTTONDOWN时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_RBUTTONUP时调用该函数
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MOUSEWHEEL时调用该函数
| wheelDelta | 滚轮滚动的距离,为120的倍数 |
| mousePosition | 鼠标在用户区中的位置 |
| keyState | 指示某些按键是否按下 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_MOVE时调用该函数
| newClientPosition | 移动后用户区左上角的位置 |
被 sw::SpinBox , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_NCHITTEST后调用该函数
| testPoint | 要测试的点在屏幕中的位置 |
| result | 测试的结果,默认为调用DefaultWndProc的结果 |
被 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_NCPAINT时调用该函数
| hRgn | 窗口更新区域的句柄,可能为NULL |
被 sw::Panel 重载.
|
protectedvirtual |
父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
| pNMHDR | 包含有关通知消息的信息 |
| result | 函数返回值为true时将该值作为消息的返回值 |
被 sw::Control, sw::DateTimePicker, sw::ListView, sw::MonthCalendar, sw::PanelBase, sw::SplitButton, sw::SysLink, sw::TabControl , 以及 sw::TreeView 重载.
|
protectedvirtual |
接收到WM_NOTIFY后调用该函数
| pNMHDR | 包含有关通知消息的信息 |
| result | 函数返回值为true时将该值作为消息的返回值,默认值为0 |
被 sw::IPAddressControl , 以及 sw::ListView 重载.
|
protectedvirtual |
接收到WM_PAINT时调用该函数
被 sw::BmpBox, sw::Panel, sw::Splitter , 以及 sw::Window 重载.
|
protectedvirtual |
接收到WM_SETCURSOR消息时调用该函数
| hwnd | 鼠标所在窗口的句柄 |
| hitTest | hit-test的结果,详见WM_NCHITTEST消息的返回值 |
| message | 触发该事件的鼠标消息,如WM_MOUSEMOVE |
| result | 消息的返回值,默认为false |
被 sw::DockSplitter , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_SETFOCUS时调用该函数
| hPrevFocus | 丢失焦点的hwnd,可能为NULL |
被 sw::Button, sw::CommandLink, sw::IPAddressControl , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_SIZE时调用该函数
| newClientSize | 改变后的用户区尺寸 |
被 sw::BmpBox, sw::HwndHost, sw::IPAddressControl, sw::Label, sw::SpinBox, sw::Splitter , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_SYSCHAR时调用该函数
| ch | 按键的字符代码 |
| flags | 附加信息 |
|
protectedvirtual |
接收到WM_SYSDEADCHAR时调用该函数
| ch | 按键的字符代码 |
| flags | 附加信息 |
|
protectedvirtual |
接收到WM_SYSKEYDOWN时调用该函数
| key | 虚拟按键 |
| flags | 附加信息 |
|
protectedvirtual |
接收到WM_SYSKEYUP时调用该函数
| key | 虚拟按键 |
| flags | 附加信息 |
|
protectedvirtual |
Text属性更改时调用此函数
被 sw::GroupBox, sw::Label, sw::SpinBox, sw::SysLink , 以及 sw::UIElement 重载.
|
protectedvirtual |
接收到WM_VSCROLL时调用目标控件的该函数
| event | 事件类型,即消息wParam的低字 |
| pos | 当前滚动条的位置,仅当event为SB_THUMBPOSITION或SB_THUMBTRACK时有效 |
被 sw::Layer, sw::PanelBase , 以及 sw::Slider 重载.
|
protectedvirtual |
获取屏幕上点在当前用户区点的位置
| screenPoint | 屏幕上点的坐标 |
获取用户区点在屏幕上点的位置
| point | 用户区坐标 |
| void sw::WndBase::Redraw | ( | bool | erase = false, |
| bool | updateWindow = false |
||
| ) |
重画
| erase | 是否擦除旧的背景 |
| updateWindow | 是否调用UpdateWindow |
| void sw::WndBase::SetExtendedStyle | ( | DWORD | mask, |
| bool | value | ||
| ) |
打开或关闭指定的扩展样式
| mask | 扩展样式的位掩码,可以是多个扩展样式 |
| value | 是否启用指定的扩展样式 |
|
protectedvirtual |
|
protectedvirtual |
|
inline |
设置属性值
| prop | 属性成员指针 |
| value | 属性值 |
| void sw::WndBase::SetStyle | ( | DWORD | mask, |
| bool | value | ||
| ) |
打开或关闭指定的样式
| mask | 样式的位掩码,可以是多个样式 |
| value | 是否启用指定的样式 |
|
virtual |
|
virtual |
|
virtual |
|
protectedvirtual |
Visible属性改变时调用此函数
被 sw::UIElement 重载.
|
protectedvirtual |
对WndProc的封装
被 sw::NotifyIcon, sw::Panel , 以及 sw::Window 重载.
| const Property<bool> sw::WndBase::IsGroupStart |
窗口是否为一组控件中的第一个控件