APIを使用してポップアップ・ウインドウを作成
APIでウインドウを作成する、簡単な例としてポップアップ・ウインドウを作ってみました。
(備考:ポップアップ・ウインドウは、ダイアログなどに使用します。)
#include < windows.h >
//ウィンドウ・プロシジャー
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
WNDCLASSEX wc;
HWND hWnd;
//ウィンドウ・プロシジャーを登録
ZeroMemory(&wc, sizeof(wc));
wc.cbSize = sizeof(WNDCLASSEX);
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInst;
wc.hCursor = LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW));
wc.hbrBackground = (HBRUSH)(COLOR_WINDOWFRAME);
wc.lpszClassName = "WNDCLASS";
RegisterClassEx(&wc);
//ポップアップ・ウィンドウを作成する
hWnd = CreateWindowEx(WS_EX_APPWINDOW,
"WNDCLASS",
"ポップアップ・ウインドウ", //タイトルは、省略可能です。
WS_POPUPWINDOW | WS_CAPTION, //WS_POPUPWINDOWを指定(WS_CAPTIONは、気分で付けてみました。)
0, 0, 640, 480, //表示位置と大きさは、必ず指定
NULL,
NULL,
hInst,
NULL);
ShowWindow(hWnd, nCmdShow);
//メッセージ・ループ
while (GetMessage(&msg, NULL, 0, 0)) {
//仮想キーメッセージを文字メッセージに変換
TranslateMessage(&msg);
//ウィンドウプロシージャにメッセージをディスパッチ (送出)
DispatchMessage(&msg);
}
return msg.wParam;
}