|
SimpleWindow
|
系统托盘通知图标 更多...
#include <NotifyIcon.h>
Public 成员函数 | |
| NotifyIcon () | |
| 初始化通知图标 | |
| ~NotifyIcon () | |
| 析构函数 | |
| bool | Show () |
| 显示通知图标 | |
| bool | Hide () |
| 隐藏通知图标 | |
| void | Destroy () |
| 销毁通知图标 | |
| bool | ShowContextMenu (const Point &point, sw::HorizontalAlignment horz=sw::HorizontalAlignment::Left, sw::VerticalAlignment vert=sw::VerticalAlignment::Bottom) |
| 弹出上下文菜单 | |
Public 成员函数 继承自 sw::WndBase | |
| virtual | ~WndBase ()=0 |
| 析构函数,这里用纯虚函数使该类成为抽象类 | |
| virtual UIElement * | ToUIElement () |
| 尝试将对象转换成UIElement | |
| bool | Equals (const WndBase &other) const |
| 判断当前对象与另一个WndBase是否相等 | |
| virtual std::wstring | ToString () const |
| 获取当前对象的描述字符串 | |
| virtual WndBase * | GetParent () const override |
| 获取逻辑树中的父元素 | |
| virtual int | GetChildCount () const override |
| 获取逻辑树中的子元素数量 | |
| virtual WndBase & | GetChildAt (int index) const override |
| 获取逻辑树中指定索引处的子元素 | |
| WndBase * | GetParentWnd () const noexcept |
| 获取当前窗口对应的Win32父窗口(HWND父)的WndBase包装 | |
| void | UpdateInternalRect () |
| 同步窗口位置和尺寸到内部记录的Rect | |
| void | UpdateInternalText () |
| 同步窗口文本到内部记录的字符串 | |
| void | Show (int nCmdShow) |
| 该函数调用ShowWindow | |
| void | Close () |
| 发送关闭消息 | |
| void | Update () |
| 该函数调用UpdateWindow | |
| void | UpdateFont () |
| 更新字体 | |
| HFONT | GetFontHandle () const noexcept |
| 获取字体句柄 | |
| void | Redraw (bool erase=false, bool updateWindow=false) |
| 重画 | |
| bool | IsVisible () const noexcept |
| 判断当前对象在界面中是否可视,与Visible属性不同的是该函数返回值会受父窗口的影响 | |
| DWORD | GetStyle () const noexcept |
| 获取窗口样式 | |
| void | SetStyle (DWORD style) noexcept |
| 设置窗口样式 | |
| bool | GetStyle (DWORD mask) const noexcept |
| 判断窗口是否设有指定样式 | |
| void | SetStyle (DWORD mask, bool value) noexcept |
| 打开或关闭指定的样式 | |
| DWORD | GetExtendedStyle () const noexcept |
| 获取扩展窗口样式 | |
| void | SetExtendedStyle (DWORD style) noexcept |
| 设置扩展窗口样式 | |
| bool | GetExtendedStyle (DWORD mask) const noexcept |
| 判断窗口是否设有指定扩展样式 | |
| void | SetExtendedStyle (DWORD mask, bool value) noexcept |
| 打开或关闭指定的扩展样式 | |
| Point | PointToScreen (const Point &point) const noexcept |
| 获取用户区点在屏幕上点的位置 | |
| Point | PointFromScreen (const Point &screenPoint) const noexcept |
| 获取屏幕上点在当前用户区点的位置 | |
| LRESULT | SendMessageA (UINT uMsg, WPARAM wParam, LPARAM lParam) const |
| 发送消息(ASCII) | |
| LRESULT | SendMessageW (UINT uMsg, WPARAM wParam, LPARAM lParam) const |
| 发送消息(UNICODE) | |
| BOOL | PostMessageA (UINT uMsg, WPARAM wParam, LPARAM lParam) const noexcept |
| 发送消息(ASCII)并立即返回 | |
| BOOL | PostMessageW (UINT uMsg, WPARAM wParam, LPARAM lParam) const noexcept |
| 发送消息(UNICODE)并立即返回 | |
| HitTestResult | NcHitTest (const Point &testPoint) |
| 测试指定点在窗口的哪一部分 | |
| void | Invoke (const Action<> &action) |
| 在窗口线程上执行指定委托 | |
| bool | InvokeAsync (const Action<> &action) |
| 在窗口线程上执行指定委托,并立即返回 | |
| DWORD | GetThreadId () const noexcept |
| 获取当前窗口所属线程的线程id | |
| bool | CheckAccess () const noexcept |
| 判断当前线程是否为窗口所属线程 | |
| bool | CheckAccess (const WndBase &other) const noexcept |
| 判断当前对象所属线程是否与另一个WndBase对象所属线程相同 | |
Public 成员函数 继承自 sw::FrameworkElement | |
| bool | AddBinding (BindingBase *binding) |
| 添加绑定对象 | |
| bool | AddBinding (Binding *binding) |
| 添加绑定对象 | |
| bool | AddBinding (DataBinding *binding) |
| 添加绑定到DataContext的绑定对象 | |
| bool | RemoveBinding (FieldId propertyId) |
| 移除指定属性的绑定对象 | |
| template<typename T , typename TProperty > | |
| bool | RemoveBinding (TProperty T::*prop) |
| 移除指定属性的绑定对象 | |
| virtual Variant | GetTag () const override final |
| 获取Tag | |
| virtual void | SetTag (const Variant &tag) override final |
| 设置Tag | |
Public 成员函数 继承自 sw::ObservableObject | |
| ObservableObject ()=default | |
| 默认构造函数 | |
| ObservableObject (const ObservableObject &)=delete | |
| 禁用拷贝构造 | |
| ObservableObject & | operator= (const ObservableObject &)=delete |
| 禁用拷贝赋值 | |
| ObservableObject (ObservableObject &&other) noexcept | |
| 移动构造函数 | |
| ObservableObject & | operator= (ObservableObject &&other) noexcept |
| 移动赋值运算符 | |
| virtual | ~ObservableObject () |
| 析构时触发对象销毁事件 | |
Public 成员函数 继承自 sw::DynamicObject | |
| DynamicObject () noexcept | |
| 默认构造函数 | |
| virtual | ~DynamicObject () |
| 析构函数 | |
| bool | IsBoxedObject () const noexcept |
| 判断对象是否为装箱对象 | |
| bool | ReferenceEquals (const DynamicObject &other) const noexcept |
| 判断与另一DynamicObject是否引用同一对象 | |
| std::type_index | GetType () const |
| 获取对象的类型信息 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if< std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (T **pout=nullptr) -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | IsType (const T **pout=nullptr) const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, bool >::type |
| 判断对象是否为指定类型 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象动态转换为指定类型的引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsDynamicCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | DynamicCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsDynamicCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象动态转换为指定类型的常量引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
| template<typename T > | |
| auto | UnsafeCast () const -> typename std::enable_if<!std::is_base_of< DynamicObject, T >::value &&!_IsStaticCastable< DynamicObject *, T * >::value, const T & >::type |
| 将对象不安全地转换为指定类型的引用 | |
Public 成员函数 继承自 sw::INotifyObjectDead | |
| virtual | ~INotifyObjectDead ()=default |
| 默认析构函数 | |
Public 成员函数 继承自 sw::INotifyPropertyChanged | |
| virtual | ~INotifyPropertyChanged ()=default |
| 默认析构函数 | |
Public 成员函数 继承自 sw::ITag< Variant > | |
| virtual | ~ITag ()=default |
| 默认虚析构函数 | |
| virtual void | SetTag (_OptimalParamType< Variant > tag)=0 |
| 设置Tag | |
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::WndBase | |
| static WndBase * | GetWndBase (HWND hwnd) noexcept |
| 通过窗口句柄获取WndBase | |
| static bool | IsPtrValid (const WndBase *ptr) noexcept |
| 检查指针是否指向有效的WndBase对象 | |
系统托盘通知图标
| void sw::NotifyIcon::Destroy | ( | ) |
销毁通知图标
鼠标单击图标时调用该函数
| mousePos | 鼠标位置 |
打开上下文菜单前调用该函数
| mousePos | 鼠标位置 |
鼠标双击图标时调用该函数
| mousePos | 鼠标位置 |
| bool sw::NotifyIcon::ShowContextMenu | ( | const Point & | point, |
| sw::HorizontalAlignment | horz = sw::HorizontalAlignment::Left, |
||
| sw::VerticalAlignment | vert = sw::VerticalAlignment::Bottom |
||
| ) |
弹出上下文菜单
| point | 弹出菜单在屏幕中的位置 |
| horz | 菜单的水平方向对齐方式 |
| vert | 菜单的垂直方向对齐方式 |
对WndProc的封装
重载 sw::WndBase .