SimpleWindow
载入中...
搜索中...
未找到
Control.h
1#pragma once
2
3#include "UIElement.h"
4#include <CommCtrl.h>
5
6namespace sw
7{
11 class Control : virtual public UIElement
12 {
13 public:
18
24
25 public:
30
34 virtual ~Control() = 0;
35
40 virtual Control *ToControl() override;
41
42 protected:
49 bool ResetHandle(LPVOID lpParam = NULL);
50
59 bool ResetHandle(DWORD style, DWORD exStyle, LPVOID lpParam = NULL);
60
61 protected:
68 virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override;
69
76 virtual bool OnCustomDraw(NMCUSTOMDRAW *pNMCD, LRESULT &result);
77
84 virtual bool OnPreErase(HDC hdc, LRESULT &result);
85
92 virtual bool OnPostErase(HDC hdc, LRESULT &result);
93
100 virtual bool OnPrePaint(HDC hdc, LRESULT &result);
101
108 virtual bool OnPostPaint(HDC hdc, LRESULT &result);
109
114 virtual void OnHandleChanged(HWND hwnd);
115 };
116}
控件
Definition Control.h:12
virtual bool OnPostErase(HDC hdc, LRESULT &result)
擦除背景后调用该函数
bool ResetHandle(DWORD style, DWORD exStyle, LPVOID lpParam=NULL)
销毁控件句柄并重新初始化,并修改样式,该操作会创建新的句柄并设置样式、文本、字体等
const ReadOnlyProperty< bool > IsInHierarchy
控件是否在窗口的控件层次结构中
Definition Control.h:23
virtual bool OnCustomDraw(NMCUSTOMDRAW *pNMCD, LRESULT &result)
接收到NM_CUSTOMDRAW后调用该函数
const ReadOnlyProperty< int > ControlId
控件的标识符
Definition Control.h:17
virtual bool OnPreErase(HDC hdc, LRESULT &result)
擦除背景前调用该函数
virtual ~Control()=0
析构函数,这里用纯虚函数使该类成为抽象类
virtual Control * ToControl() override
尝试将对象转换成Control
virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override
父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
virtual bool OnPostPaint(HDC hdc, LRESULT &result)
绘制控件后调用该函数
virtual bool OnPrePaint(HDC hdc, LRESULT &result)
绘制控件前调用该函数
Control()
初始化控件
bool ResetHandle(LPVOID lpParam=NULL)
销毁控件句柄并重新初始化,该操作会创建新的句柄并设置样式、文本、字体等
virtual void OnHandleChanged(HWND hwnd)
控件句柄发生改变时调用该函数
只读属性
Definition Property.h:1828
表示界面中的元素
Definition UIElement.h:90