追加したメニューの操作方法




VCのリソースでメニューバーの編集は簡単にできるのですが、実行するとなぜか選択不可に なっており、そのままではゴミが追加されただけで、何にもできません。
そこでまずは選択できるようにしてみましょう。
通常は選択不可状態なので、これを選択可能状態にしてやります。
選択可能状態にするタイミングはなぜか、メニューがクリックされて、ドロップダウンリスト が表示された時だったりします。
メニューが押された(表示された)イベントを取得する為に、クラスウィザードからメッセージ を追加します。追加のは、該当メニューオブジェクトIDのUPDATE_COMMAND_UIです。
それでもって、サンプルのようにすればOKです。

(サンプル)
void CMainFrame::OnUpdateCheckNo(CCmdUI* pCmdUI) 
{
    // TODO: この位置に command update UI ハンドラ用のコードを追加してください
    // チェックサムNGのチェック状態を更新する
    if( E_CheckSumOK == D_CHECKSUM_NO )
    {
        pCmdUI->SetCheck( 1 );
    }
    else
    {
        pCmdUI->SetCheck( 0 );
    }
    // チェックサム無しを選択可能状態にする
    pCmdUI->Enable(TRUE);
}
pCmdUI->Enable()関数でTRUEを指定すれば選択可能状態に、FALSEを指定すれば選択不可状態に なります。
ちなみにpCmdUI->SetCheck()関数で1を指定すれば項目名の前にチェックが付いて、0を指定すれば チェックははずれます。
後はクラスウィザードでさらにCOMMANDを追加して、メニュークリック時の処理を追加 すれば、基本的なメニュー操作はできるはずです。




N総研ソフトウェア開発部のTOPに戻る。

このページに関するご意見・質問は
ドンタコスN村 E-mail:wnaka@coco.ned.co.jp
まで送信してください。