VC++

アプリケーション起動時のウィンドウ表示処理

CWinApp::InitInstance() の中でアプリケーションを終了させた場合に、一瞬ウィンドウが表示されてしまうのを防ぐ方法。 結論としては m_nCmdShow = SW_HIDE; とする事でウィンドウの表示は行われなくなる。 ただし、ウィンドウの描画処理は ProcessShellCom…

DRAWITEMSTRUCT.itemID の罠

MSDN の解説によると itemID メニューのメニュー項目 ID、またはリスト ボックスやコンボ ボックスの項目のインデックス。空のリスト ボックスやコンボ ボックスでは、このメンバは負の値になります。これにより、アプリケーションは、コントロールに項目が…

オーナードロー CListBox の作り方

行単位で色を変える必要があったので CListBox の派生クラスを作成した。 久々にやったらハマったので手順をメモして残す事にする。 派生クラスを作成する。仮にクラス名は CMyListBox とする。 CMyListBox::DrawItem() をオーバーライドする。 ダイアログエ…