だから、私はあらゆる種類のWindows
関連プログラミングの初心者です。で遊んでいて、Windows
API
作成ウィンドウなどを初期化する方法に関するいくつかの例に出くわしました。
1 つの例では、通常のウィンドウを作成します (コードの一部を省略しました)。
int WINAPI WinMain( [...] )
{
[...]
// Windows Class setup
wndClass.cbSize = sizeof( wndClass );
wndClass.style = CS_HREDRAW | CS_VREDRAW;
[...]
// Register class
RegisterClassEx( &wndClass );
// Create window
hWnd = CreateWindow( szAppName, "Win32 App",
WS_OVERLAPPEDWINDOW,
0, 0, 512, 384,
NULL, NULL, hInstance, NULL );
[...]
}
2 番目の例では、ダイアログ ボックスを作成します (WinMain 引数以外の省略形はありません)。
int WINAPI WinMain( [...] )
{
// Create dialog box
DialogBox(hInstance,
MAKEINTRESOURCE(IDD_MAIN_DLG),
NULL,
(DLGPROC)DialogProc);
}
2 番目の例には、register 関数の呼び出しが含まれていません。DialogProc プロセスがアタッチされた DialogBox を作成するだけです。
これは正常に動作しますが、ウィンドウ クラスを登録してからダイアログ ボックスを作成する利点があるかどうか疑問に思っています (これが可能な場合)。