ウィンドウとメッセージ
Microsoft Game Development Kit (GDK) では、Windows やメッセージなどの Win32 プログラミング スタイルが使用されます。 その大部分は Windows PC で見られる可能性のあるものと同じですが、このトピックでは本体でサポートされている内容と Windows PC との違いを説明します。
メイン ウィンドウの作成
すべてのゲームには、エントリ ポイント関数として WinMain
が必要です。
WinMain
内でゲームは次の処理を行う必要があります。
- ウィンドウ クラスの登録。
- ウィンドウ プロシージャの指定。
- ウィンドウの作成。
- メッセージ ループのポンプ。
本体では、ウィンドウはメッセージのターゲットとしてのみ動作します。
本体でサポートされるウィンドウ メッセージ
本体では、キーボードとマウスからの基本入力とウィンドウの有効期間がサポートされます。 次のシステム メッセージがサポートされます。
WM_ACTIVATE
WM_ACTIVATEAPP
WM_CHAR
WM_CREATE
WM_DESTROY
WM_DPICHANGED
WM_KEYDOWN
WM_KEYUP
WM_KILLFOCUS
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_MBUTTONDOWN
WM_MBUTTONUP
WM_MOUSEMOVE
WM_MOUSEWHEEL
WM_QUIT
WM_RBUTTONDOWN
WM_RBUTTONUP
WM_SETFOCUS
WM_SHOWWINDOW
WM_SIZE
WM_SYSKEYDOWN
WM_SYSKEYUP
WM_THEMECHANGED
WM_TIMER
WM_USER
WM_XBUTTONDOWN
WM_XBUTTONUP
本体でサポートされている WinUser 関数
本体でサポートされるのは、winuser.h に含まれることが予期される関数のサブセットのみです。 本体でサポートされるウィンドウ関数は、次のもののみです。
AdjustWindowRect
AdjustWindowRectEx
CallWindowProc
CreateWindowEx
DefWindowProc
DestroyCursor
DestroyWindow
DispatchMessage
GetClientRect
GetCursorInfo
GetCursorPos
GetMessage
GetWindowLong
GetWindowLongPtr
KillTimer
LoadCursor
MoveWindow
PeekMessage
PostMessage
PostQuitMessage
PostThreadMessage
RegisterClass
RegisterClassEx
SendMessage
SetCursor
SetTimer
SetWindowLong
SetWindowLongPtr
SetWindowPos
ShowCursor
ShowWindow
TranslateMessage
UnregisterClass