Tips of VC++ > コントロール > ウィンドウにコントロールを貼りつけるには
★ 前へ戻る ★ 次へ進む


ウィンドウにコントロールを貼りつけるには

ウィンドウにコントロールを貼りつけるとは、 メモ帳のようにダイアログではないウィンドウに エディットボックスのようなコントロールを貼り付けることです。 ようするにMDIの子ウィンドウと同じです。

通常はウィンドウプロシージャのWM_CREATEメッセージのところで書きます。 こんな感じでしょうか。

const UINT IDC_BUTTON1=100;  // ボタンのID

HINSTANCE hAppModule;  // モジュールのインスタンスハンドル

case WM_CREATE:
    // ボタンを貼りつけ
    hEdit=::CreateWindow("BUTTON","OK",
        WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
        10,10,30,20,
        in_hWnd,(HMENU)IDC_BUTTON1,hAppModule,0);
    break;

ウィンドウのクライアント領域の左上あたりにボタンを貼りつけています。 IDC_BUTTON1は100に設定していますが、好きな値で結構です。 hAppModuleはWinMainの第1引数を代入したものです。

ポイントはIDをHMENUにキャストして、 本来メニューハンドルを与えるべきところに渡すことです。
押されたときの処理などはリソースで作ったボタンと同じように書けばいいです。