メイン ウィンドウのボタンをクリックしたときにポップアップ ウィンドウを作成しようとしています。そのために CreateWindowEX 関数を使用しています。ただし、CreateWindowEx 関数は、最後から 2 番目のパラメーターとして HINSTANCE 型変数を受け取ります。ボタンがクリックされたときに WndProcedure 内からこの新しいウィンドウを作成していることを考えると、WinMain 関数の HINSTANCE 変数はグローバル変数ではないため、使用できません。
次のコードは、WndProcedure コールバック関数から取得されました。
case IDC_BUTTON PRESSED:
{
const char g_szClassName2[] = "POPWIND";
const char WndName2[] = "POPUP WINDOW";
HWND invisWindowHandle = CreateWindowEx(0,
g_szClassName2,
WndName2,
WS_OVERLAPPEDWINDOW,
200,
200,
800,
500,
NULL,
NULL,
hInstance,//THIS IS THE VARIABLE I AM HAVING TROUBLE GETTING
NULL);
ShowWindow(invisWindowHandle, 3);// SW_SHOWNORMAL);
UpdateWindow(invisWindowHandle);
}
CreateWindowEx 関数が WndProcedure コールバック関数内から機能するように、必要な hInstance 変数を取得するにはどうすればよいでしょうか。
注: hInstance 変数をグローバルにすることを検討しましたが、アプリケーションが作成するすべてのウィンドウで同じ hInstance を使用する必要があるかどうかはわかりません。