Microsoft 游戏开发工具包(GDK)使用 Win32 编程样式,包括窗口和消息。 尽管大部分内容与你在 Windows 电脑上可能遇到的情况相同,但本主题介绍了主机支持的功能以及与 Windows 电脑的区别。
创建主窗口
每个游戏必须有一个 WinMain 作为入口点函数。 在 WinMain 内,游戏应该执行以下操作。
- 注册窗口类。
- 指定窗口过程。
- 创建窗口。
- 抽取消息循环。
在主机上,窗口就好像消息的目标。
主机上支持的窗口消息
在主机上,支持来自键盘和鼠标的基本输入和窗口生命周期。 支持以下系统消息:
WM_ACTIVATEWM_ACTIVATEAPPWM_CHARWM_CREATEWM_DESTROYWM_DPICHANGEDWM_KEYDOWNWM_KEYUPWM_KILLFOCUSWM_LBUTTONDOWNWM_LBUTTONUPWM_MBUTTONDOWNWM_MBUTTONUPWM_MOUSEMOVEWM_MOUSEWHEELWM_QUITWM_RBUTTONDOWNWM_RBUTTONUPWM_SETFOCUSWM_SHOWWINDOWWM_SIZEWM_SYSKEYDOWNWM_SYSKEYUPWM_THEMECHANGEDWM_TIMERWM_USERWM_XBUTTONDOWNWM_XBUTTONUP
主机上支持的 WinUser 函数
主机仅支持 winuser.h 的一个子集。 主机仅支持以下窗口函数。
AdjustWindowRectAdjustWindowRectExCallWindowProcCreateWindowExDefWindowProcDestroyCursorDestroyWindowDispatchMessageGetClientRectGetCursorInfoGetCursorPosGetMessageGetWindowLongGetWindowLongPtrKillTimerLoadCursorMoveWindowPeekMessagePostMessagePostQuitMessagePostThreadMessageRegisterClassRegisterClassExSendMessageSetCursorSetTimerSetWindowLongSetWindowLongPtrSetWindowPosShowCursorShowWindowTranslateMessageUnregisterClass