if( ! ( atom = RegisterClass( &wc ) ) ){
MessageBox( NULL, TEXT( "ウィンドウクラスの作成に失敗しました。" ), NULL, MB_OK );
return 0;
}
// 登録したウィンドウを生成
hWnd = CreateWindow(
( LPCTSTR ) atom, // lpClassNameには登録済みのウィンドウクラス名を指定
// ここにはRegisterClass()で登録したウィンドウクラスの名前を指定
// ATOMを指定することも可
TEXT( "Window Title" ), // lpWindowNameはウィンドウの名前
WS_OVERLAPPEDWINDOW | WS_VISIBLE, // dwStyleはウィンドウの種類や状態を表すビットフラグを指定
// 一般的なアプリケーションウィンドウであればWS_OVERLAPPEDWINDOWを指定
100, 100, // int x、yはウィンドウの初期位置、x軸、y軸
400, 300, // int nWidth、nHeightはウィンドウの幅、高さ
NULL, // hWndParentは子ウィンドウを生成する場合に親ウィンドウを指定したり、
// ダイアログなどのサブウィンドウを生成する時に、オーナーウィンドウを設定するために用いる
NULL, // 同様にhMenuもメニューを設定する場所
hInstance, // hInstanceにはウィンドウを制しえするアプリケーションのインスタンスハンドルを指定
// この引数はWinMain()関数から取得したインスタンスハンドルを渡す
NULL // lpParamはウィンドウが生成されようとした時に発生するイベントにデータを渡す手段
// 特別なことがない限りNULL
);
if( hWnd == NULL ){
MessageBox( NULL, TEXT( "ウィンドウの生成に失敗しました。" ), NULL, MB_OK );
return 0;
}
// ウィンドウを表示する
/*
CreateWindow()が成功し、ウィンドウハンドルを無事に取得することが出来れば、ウィンドウを表示させる
BOOL ShowWindow ( HWND hWnd, int nCmdShow );
hWndに対象のウィンドウハンドルを指定し、nCmdShowに新しいウィンドウの表示状態を指定
表示状態については「SW_」で始まる定数が定義されている
ShowWindow()関数を呼び出す以外に、ウィンドウのスタイルに「WC_VISIBLE」を加えても表示状態のウィンドウが生成される