566 lines
13 KiB
Markdown
566 lines
13 KiB
Markdown
# WindowImplBase
|
||
|
||
| 方法名称 | 用途 |
|
||
| :--- | :--- |
|
||
| [InitWindow](#InitWindow) | 当接收到窗口创建消息时被调用 |
|
||
| [OnFinalMessage](#OnFinalMessage) | 当接收到窗口销毁消息时被调用 |
|
||
| [GetStyle](#GetStyle) | 获取窗口样式 |
|
||
| [GetClassStyle](#GetClassStyle) | 获取窗口类样式 |
|
||
| [GetResourceType](#GetResourceType) | 待补充 |
|
||
| [GetResourceID](#GetResourceID) | 待补充 |
|
||
| [CreateControl](#CreateControl) | 当要创建的控件不是标准的控件名称时会调用该函数 |
|
||
| [MessageHandler](#MessageHandler) | 接收所有消息 |
|
||
| [OnClose](#OnClose) | 当收到窗口关闭消息时被调用 |
|
||
| [OnDestroy](#OnDestroy) | 当收到窗口被销毁消息时被调用 |
|
||
| [OnNcActivate](#OnNcActivate) | 当收到活动或非活动状态消息时被调用 |
|
||
| [OnNcCalcSize](#OnNcCalcSize) | 当收到要计算客户区域大小消息时(WM_NCCALCSIZE)被调用 |
|
||
| [OnWindowPosChanging](#OnWindowPosChanging) | 窗口位置或 Z 次序发生改变时被调用 |
|
||
| [OnNcPaint](#OnNcPaint) | 当接收到绘制标题栏区域消息时被调用 |
|
||
| [OnNcLButtonDbClick](#OnNcLButtonDbClick) | 当接收到标题栏区域双击消息时被调用 |
|
||
| [OnNcHitTest](#OnNcHitTest) | 当接收到 WM_NCHITTEST 消息时被调用 |
|
||
| [OnGetMinMaxInfo](#OnGetMinMaxInfo) | 当接收到 WM_GETMINMAXINFO 消息时被调用 |
|
||
| [OnMouseWheel](#OnMouseWheel) | 当接收到鼠标悬浮消息时被调用 |
|
||
| [OnMouseHover](#OnMouseHover) | 当接收到窗口大小改变消息时被调用 |
|
||
| [OnSize](#OnSize) | 当接收到窗口大小改变消息时被调用 |
|
||
| [OnChar](#OnChar) | 当接收到字符按键消息时(WM_CHAR)被调用 |
|
||
| [OnSysCommand](#OnSysCommand) | 接收窗口控制命令消息时(WM_SYSCOMMAND)被调用 |
|
||
| [OnKeyDown](#OnKeyDown) | 接收键盘按键按下消息时被调用 |
|
||
| [OnKillFocus](#OnKillFocus) | 接收失去焦点消息时被调用 |
|
||
| [OnSetFocus](#OnSetFocus) | 接收获取焦点消息时被调用 |
|
||
| [OnLButtonDown](#OnLButtonDown) | 接收到鼠标左键按下消息时被调用 |
|
||
| [OnLButtonUp](#OnLButtonUp) | 接收到鼠标左键弹起消息时被调用 |
|
||
| [OnMouseMove](#OnMouseMove) | 接收到鼠标移动消息时被调用 |
|
||
| [OnDpiChanged](#OnDpiChanged) | 当接收到DPI改变消息时被调用(只有在 Startup 中指定启用 DPI 适配后才会触发) |
|
||
| [HandleMessage](#HandleMessage) | 窗口消息的派发函数 |
|
||
| [ActiveWindow](#ActiveWindow) | 激活窗口 |
|
||
| [SetTaskbarTitle](#SetTaskbarTitle) | 设置窗口标题 |
|
||
| [ToTopMost](#ToTopMost) | 置顶窗口 |
|
||
| [GetSkinFolder](#GetSkinFolder) | 创建窗口时被调用,由子类实现用以获取窗口皮肤目录 |
|
||
| [GetSkinFile](#GetSkinFile) | 创建窗口时被调用,由子类实现用以获取窗口皮肤 XML 描述文件 |
|
||
| [GetWindowClassName](#GetWindowClassName) | 创建窗口时被调用,由子类实现用以获取窗口唯一的类名称 |
|
||
| [OnCreate](#OnCreate) | 收到窗口创建消息时被调用,请使用 InitWindow 接口来实现自定义需求 |
|
||
| [OnButtonClick](#OnButtonClick) | 窗口功能按钮被点击时调用 |
|
||
|
||
|
||
### InitWindow
|
||
|
||
当接收到窗口创建消息时被调用
|
||
|
||
```cpp
|
||
virtual void InitWindow()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:无
|
||
|
||
### OnFinalMessage
|
||
|
||
当接收到窗口销毁消息时被调用
|
||
|
||
```cpp
|
||
virtual void OnFinalMessage( HWND hWnd )
|
||
```
|
||
|
||
- 参 数:
|
||
- `hWnd` 要销毁的窗口句柄
|
||
- 返回值:无
|
||
|
||
### GetStyle
|
||
|
||
获取窗口样式
|
||
|
||
```cpp
|
||
virtual LONG GetStyle()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:返回窗口样式
|
||
|
||
### GetClassStyle
|
||
|
||
获取窗口类样式
|
||
|
||
```cpp
|
||
virtual UINT GetClassStyle()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:返回窗口类样式
|
||
|
||
### GetResourceType
|
||
|
||
待补充
|
||
|
||
```cpp
|
||
virtual UILIB_RESOURCETYPE GetResourceType()
|
||
```
|
||
|
||
- 参 数:
|
||
- `待补充
|
||
- 返回值:待补充
|
||
|
||
### GetResourceID
|
||
|
||
待补充
|
||
|
||
```cpp
|
||
virtual std::wstring GetResourceID()
|
||
```
|
||
|
||
- 参 数:
|
||
- `待补充
|
||
- 返回值:待补充
|
||
|
||
### CreateControl
|
||
|
||
当要创建的控件不是标准的控件名称时会调用该函数
|
||
|
||
```cpp
|
||
virtual Control* CreateControl(const std::wstring& pstrClass)
|
||
```
|
||
|
||
- 参 数:
|
||
- `pstrClass` 控件名称
|
||
- 返回值:返回一个自定义控件指针,一般情况下根据 pstrClass 参数创建自定义的控件
|
||
|
||
### MessageHandler
|
||
|
||
接收所有消息
|
||
|
||
```cpp
|
||
virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnClose
|
||
|
||
当收到窗口关闭消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnDestroy
|
||
|
||
当收到窗口被销毁消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnNcActivate
|
||
|
||
当收到活动或非活动状态消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnNcCalcSize
|
||
|
||
当收到要计算客户区域大小消息时(WM_NCCALCSIZE)被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnWindowPosChanging
|
||
|
||
窗口位置或 Z 次序发生改变时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnNcPaint
|
||
|
||
当接收到绘制标题栏区域消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnNcLButtonDbClick
|
||
|
||
当接收到标题栏区域双击消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnNcLButtonDbClick(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnNcHitTest
|
||
|
||
当接收到 WM_NCHITTEST 消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnGetMinMaxInfo
|
||
|
||
当接收到 WM_GETMINMAXINFO 消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnMouseWheel
|
||
|
||
当接收到鼠标悬浮消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnMouseHover
|
||
|
||
当接收到窗口大小改变消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnSize
|
||
|
||
当接收到窗口大小改变消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnChar
|
||
|
||
当接收到字符按键消息时(WM_CHAR)被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnSysCommand
|
||
|
||
接收窗口控制命令消息时(WM_SYSCOMMAND)被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnKeyDown
|
||
|
||
接收键盘按键按下消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnKillFocus
|
||
|
||
接收失去焦点消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnSetFocus
|
||
|
||
接收获取焦点消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnLButtonDown
|
||
|
||
接收到鼠标左键按下消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnLButtonUp
|
||
|
||
接收到鼠标左键弹起消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnMouseMove
|
||
|
||
接收到鼠标移动消息时被调用
|
||
|
||
```cpp
|
||
virtual LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnDpiChanged
|
||
|
||
当接收到DPI改变消息时被调用(只有在 Startup 中指定启用 DPI 适配后才会触发)
|
||
|
||
```cpp
|
||
virtual LRESULT OnDpiChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### HandleMessage
|
||
|
||
窗口消息的派发函数
|
||
|
||
```cpp
|
||
virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息内容
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 返回 true 则继续派发该消息,否则不再派发该消息
|
||
- 返回值:返回消息处理结果
|
||
|
||
### ActiveWindow
|
||
|
||
激活窗口
|
||
|
||
```cpp
|
||
virtual void ActiveWindow()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:void 无返回值
|
||
|
||
### SetTaskbarTitle
|
||
|
||
设置窗口标题
|
||
|
||
```cpp
|
||
virtual void SetTaskbarTitle(const std::wstring &title)
|
||
```
|
||
|
||
- 参 数:
|
||
- `title` 窗口标题
|
||
- 返回值:void 无返回值
|
||
|
||
### ToTopMost
|
||
|
||
置顶窗口
|
||
|
||
```cpp
|
||
void ToTopMost(bool forever)
|
||
```
|
||
|
||
- 参 数:
|
||
- `forever` 是否一直置顶
|
||
- 返回值:void 无返回值
|
||
|
||
### GetSkinFolder
|
||
|
||
创建窗口时被调用,由子类实现用以获取窗口皮肤目录
|
||
|
||
```cpp
|
||
virtual std::wstring GetSkinFolder()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:子类需实现并返回窗口皮肤目录
|
||
|
||
### GetSkinFile
|
||
|
||
创建窗口时被调用,由子类实现用以获取窗口皮肤 XML 描述文件
|
||
|
||
```cpp
|
||
virtual std::wstring GetSkinFile()
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:子类需实现并返回窗口皮肤 XML 描述文件
|
||
|
||
### GetWindowClassName
|
||
|
||
创建窗口时被调用,由子类实现用以获取窗口唯一的类名称
|
||
|
||
```cpp
|
||
virtual std::wstring GetWindowClassName(void)
|
||
```
|
||
|
||
- 参 数:无
|
||
- 返回值:子类需实现并返回窗口唯一的类名称
|
||
|
||
### OnCreate
|
||
|
||
收到窗口创建消息时被调用,请使用 InitWindow 接口来实现自定义需求
|
||
|
||
```cpp
|
||
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
||
```
|
||
|
||
- 参 数:
|
||
- `uMsg` 消息ID
|
||
- `wParam` 消息附加参数
|
||
- `lParam` 消息附加参数
|
||
- `bHandled` 消息是否已经被处理
|
||
- 返回值:返回消息处理结果
|
||
|
||
### OnButtonClick
|
||
|
||
窗口功能按钮被点击时调用
|
||
|
||
```cpp
|
||
bool OnButtonClick(EventArgs* param)
|
||
```
|
||
|
||
- 参 数:
|
||
- `param` 携带的参数
|
||
- 返回值:始终返回 true
|
||
|