/



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」を加えても表示状態のウィンドウが生成される