Skip to content

Latest commit

 

History

History
565 lines (410 loc) · 12.6 KB

WindowImplBase.md

File metadata and controls

565 lines (410 loc) · 12.6 KB

WindowImplBase

方法名称 用途
InitWindow 当接收到窗口创建消息时被调用
OnFinalMessage 当接收到窗口销毁消息时被调用
GetStyle 获取窗口样式
GetClassStyle 获取窗口类样式
GetResourceType 待补充
GetResourceID 待补充
CreateControl 当要创建的控件不是标准的控件名称时会调用该函数
MessageHandler 接收所有消息
OnClose 当收到窗口关闭消息时被调用
OnDestroy 当收到窗口被销毁消息时被调用
OnNcActivate 当收到活动或非活动状态消息时被调用
OnNcCalcSize 当收到要计算客户区域大小消息时(WM_NCCALCSIZE)被调用
OnWindowPosChanging 窗口位置或 Z 次序发生改变时被调用
OnNcPaint 当接收到绘制标题栏区域消息时被调用
OnNcLButtonDbClick 当接收到标题栏区域双击消息时被调用
OnNcHitTest 当接收到 WM_NCHITTEST 消息时被调用
OnGetMinMaxInfo 当接收到 WM_GETMINMAXINFO 消息时被调用
OnMouseWheel 当接收到鼠标悬浮消息时被调用
OnMouseHover 当接收到窗口大小改变消息时被调用
OnSize 当接收到窗口大小改变消息时被调用
OnChar 当接收到字符按键消息时(WM_CHAR)被调用
OnSysCommand 接收窗口控制命令消息时(WM_SYSCOMMAND)被调用
OnKeyDown 接收键盘按键按下消息时被调用
OnKillFocus 接收失去焦点消息时被调用
OnSetFocus 接收获取焦点消息时被调用
OnLButtonDown 接收到鼠标左键按下消息时被调用
OnLButtonUp 接收到鼠标左键弹起消息时被调用
OnMouseMove 接收到鼠标移动消息时被调用
OnDpiChanged 当接收到DPI改变消息时被调用(只有在 Startup 中指定启用 DPI 适配后才会触发)
HandleMessage 窗口消息的派发函数
ActiveWindow 激活窗口
SetTaskbarTitle 设置窗口标题
ToTopMost 置顶窗口
GetSkinFolder 创建窗口时被调用,由子类实现用以获取窗口皮肤目录
GetSkinFile 创建窗口时被调用,由子类实现用以获取窗口皮肤 XML 描述文件
GetWindowClassName 创建窗口时被调用,由子类实现用以获取窗口唯一的类名称
OnCreate 收到窗口创建消息时被调用,请使用 InitWindow 接口来实现自定义需求
OnButtonClick 窗口功能按钮被点击时调用

InitWindow

当接收到窗口创建消息时被调用

virtual void InitWindow()
  • 参 数:无
  • 返回值:无

OnFinalMessage

当接收到窗口销毁消息时被调用

virtual void OnFinalMessage( HWND hWnd )
  • 参 数:
    • hWnd 要销毁的窗口句柄
  • 返回值:无

GetStyle

获取窗口样式

virtual LONG GetStyle()
  • 参 数:无
  • 返回值:返回窗口样式

GetClassStyle

获取窗口类样式

virtual UINT GetClassStyle()
  • 参 数:无
  • 返回值:返回窗口类样式

GetResourceType

待补充

virtual UILIB_RESOURCETYPE GetResourceType()
  • 参 数:
    • `待补充
  • 返回值:待补充

GetResourceID

待补充

virtual std::wstring GetResourceID()
  • 参 数:
    • `待补充
  • 返回值:待补充

CreateControl

当要创建的控件不是标准的控件名称时会调用该函数

virtual Control* CreateControl(const std::wstring& pstrClass)
  • 参 数:
    • pstrClass 控件名称
  • 返回值:返回一个自定义控件指针,一般情况下根据 pstrClass 参数创建自定义的控件

MessageHandler

接收所有消息

virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnClose

当收到窗口关闭消息时被调用

virtual LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnDestroy

当收到窗口被销毁消息时被调用

virtual LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnNcActivate

当收到活动或非活动状态消息时被调用

virtual LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnNcCalcSize

当收到要计算客户区域大小消息时(WM_NCCALCSIZE)被调用

virtual LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnWindowPosChanging

窗口位置或 Z 次序发生改变时被调用

virtual LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnNcPaint

当接收到绘制标题栏区域消息时被调用

virtual LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnNcLButtonDbClick

当接收到标题栏区域双击消息时被调用

virtual LRESULT OnNcLButtonDbClick(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnNcHitTest

当接收到 WM_NCHITTEST 消息时被调用

virtual LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnGetMinMaxInfo

当接收到 WM_GETMINMAXINFO 消息时被调用

virtual LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnMouseWheel

当接收到鼠标悬浮消息时被调用

virtual LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnMouseHover

当接收到窗口大小改变消息时被调用

virtual LRESULT OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnSize

当接收到窗口大小改变消息时被调用

virtual LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnChar

当接收到字符按键消息时(WM_CHAR)被调用

virtual LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnSysCommand

接收窗口控制命令消息时(WM_SYSCOMMAND)被调用

virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnKeyDown

接收键盘按键按下消息时被调用

virtual LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnKillFocus

接收失去焦点消息时被调用

virtual LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnSetFocus

接收获取焦点消息时被调用

virtual LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnLButtonDown

接收到鼠标左键按下消息时被调用

virtual LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnLButtonUp

接收到鼠标左键弹起消息时被调用

virtual LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnMouseMove

接收到鼠标移动消息时被调用

virtual LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

OnDpiChanged

当接收到DPI改变消息时被调用(只有在 Startup 中指定启用 DPI 适配后才会触发)

virtual LRESULT OnDpiChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

HandleMessage

窗口消息的派发函数

virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
  • 参 数:
    • uMsg 消息内容
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 返回 true 则继续派发该消息,否则不再派发该消息
  • 返回值:返回消息处理结果

ActiveWindow

激活窗口

virtual void ActiveWindow()
  • 参 数:无
  • 返回值:void 无返回值

SetTaskbarTitle

设置窗口标题

virtual void SetTaskbarTitle(const std::wstring &title)
  • 参 数:
    • title 窗口标题
  • 返回值:void 无返回值

ToTopMost

置顶窗口

void ToTopMost(bool forever)
  • 参 数:
    • forever 是否一直置顶
  • 返回值:void 无返回值

GetSkinFolder

创建窗口时被调用,由子类实现用以获取窗口皮肤目录

virtual std::wstring GetSkinFolder()
  • 参 数:无
  • 返回值:子类需实现并返回窗口皮肤目录

GetSkinFile

创建窗口时被调用,由子类实现用以获取窗口皮肤 XML 描述文件

virtual std::wstring GetSkinFile()
  • 参 数:无
  • 返回值:子类需实现并返回窗口皮肤 XML 描述文件

GetWindowClassName

创建窗口时被调用,由子类实现用以获取窗口唯一的类名称

virtual std::wstring GetWindowClassName(void)
  • 参 数:无
  • 返回值:子类需实现并返回窗口唯一的类名称

OnCreate

收到窗口创建消息时被调用,请使用 InitWindow 接口来实现自定义需求

LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
  • 参 数:
    • uMsg 消息ID
    • wParam 消息附加参数
    • lParam 消息附加参数
    • bHandled 消息是否已经被处理
  • 返回值:返回消息处理结果

OnButtonClick

窗口功能按钮被点击时调用

bool OnButtonClick(EventArgs* param)
  • 参 数:
    • param 携带的参数
  • 返回值:始终返回 true