Files
XCEngine/docs/api/XCEngine/Platform/Windows/WindowsWindow/WindowsWindow.md

2.3 KiB

WindowsWindow

命名空间: XCEngine::Platform

类型: class

头文件: XCEngine/Platform/Windows/WindowsWindow.h

描述: Window 的 Win32 实现,负责创建 HWND、泵消息、维护关闭 / 全屏状态,并把消息分发给输入模块和自定义回调。

概述

WindowsWindow 是当前仓库里 Window 抽象的具体 Win32 落地。按 engine/src/Platform/Windows/WindowsWindow.cpp 的实现,它主要做四件事:

  • 注册 XCEngineWindowClass 并创建主窗口 HWND
  • PeekMessage / DispatchMessage 推进 Win32 消息循环
  • WM_CLOSEWM_DESTROYWM_SIZE 中维护关闭和最小化状态
  • 把消息同时转发给 m_messageCallback 和已绑定的 InputModule

全屏切换通过修改窗口样式和缓存旧窗口矩形实现;Destroy() 会销毁窗口并注销窗口类。

声明概览

声明 类型 说明
WindowsWindow class Window 的 Win32 具体实现。

公共方法

方法 描述
WindowsWindow() 初始化空窗口状态。
~WindowsWindow() 析构时调用 Destroy
Create 创建 HWND 并显示窗口。
Destroy 销毁 HWND 并注销窗口类。
GetHandle 返回当前 HWND 作为 WindowHandle
PumpEvents 处理 Win32 消息并推进输入模块事件。
SetTitle 修改 Win32 窗口标题。
SetFullscreen 通过窗口样式切换 Win32 全屏。
IsFullscreen 查询 m_fullscreen 标记。
Minimize 调用 ShowWindow(..., SW_MINIMIZE)
Maximize 调用 ShowWindow(..., SW_MAXIMIZE)
Restore 调用 ShowWindow(..., SW_RESTORE) 并清理最小化标记。
ShouldClose 返回 WM_CLOSE / WM_QUIT 维护的关闭标记。
GetNativeHandle 返回原始 HWND
SetMessageCallback 绑定额外的 Win32 消息回调。

相关文档