SimpleWindow
载入中...
搜索中...
未找到
sw::Timer类 参考

计时器 更多...

#include <Timer.h>

类 sw::Timer 继承关系图:
sw::WndBase sw::ObservableObject sw::IToString< WndBase > sw::IEqualityComparable< WndBase > sw::DynamicObject sw::INotifyObjectDead sw::INotifyPropertyChanged

Public 成员函数

 Timer ()
 初始化计时器
 
void Start ()
 开始计时器
 
void Stop ()
 停止计时器
 
- Public 成员函数 继承自 sw::WndBase
virtual ~WndBase ()=0
 析构函数,这里用纯虚函数使该类成为抽象类
 
virtual UIElementToUIElement ()
 尝试将对象转换成UIElement
 
virtual ControlToControl ()
 尝试将对象转换成Control
 
virtual WindowToWindow ()
 尝试将对象转换成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 属性

Property< uint32_t > Interval
 相对于上一次触发的Tick事件引发下一次Tick事件之间的时间(以毫秒为单位)
 
TimerTickHandler Tick
 计时器触发事件
 
- Public 属性 继承自 sw::WndBase
const ReadOnlyProperty< HWND > Handle
 窗口句柄
 
const Property< sw::FontFont
 字体
 
const Property< std::wstring > FontName
 字体名称
 
const Property< double > FontSize
 字体大小
 
const Property< sw::FontWeight > FontWeight
 字体粗细
 
const Property< sw::RectRect
 位置和尺寸
 
const Property< double > Left
 左边
 
const Property< double > Top
 顶边
 
const Property< double > Width
 宽度
 
const Property< double > Height
 高度
 
const ReadOnlyProperty< sw::RectClientRect
 用户区尺寸
 
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 成员函数

virtual void OnTick ()
 计时器已启动并且达到间隔时间时调用该函数
 
- Protected 成员函数 继承自 sw::WndBase
 WndBase ()
 初始化WndBase
 
 WndBase (const WndBase &)=delete
 
 WndBase (WndBase &&)=delete
 
WndBaseoperator= (const WndBase &)=delete
 
WndBaseoperator= (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)
 触发属性更改通知事件
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 sw::WndBase
static WndBaseGetWndBase (HWND hwnd) noexcept
 通过窗口句柄获取WndBase
 
static bool IsPtrValid (const WndBase *ptr) noexcept
 检查指针是否指向有效的WndBase对象
 

详细描述

计时器


该类的文档由以下文件生成: