2

メニューバーを持つMFCアプリケーションにダイアログがあります。ここで、メニューバーにある同じコマンド ID を使用して、そのダイアログにツールバーを作成しました。

ON_UPDATE_COMMAND_UIメニューをクリックすると、メニュー項目の状態を更新し、チェックインに従って有効/無効にします。しかし、ツールバーの場合、有効/無効にする必要がある場合、これらの呼び出しで状態を更新できませんでした。

さらに、テストが失敗したときに通知がなく、アイテムを無効にしました。

これを行うための代替手段はありますか?

ありがとう

への呼び出しON_UPDATE_COMMAND_UIは、ツールバーのボタンをクリックしたときにのみ行われます。

4

1 に答える 1

1

ダイアログで MFC を使用すると、イライラすることがあります。

メニューを有効/無効にする変数に状態を変更するときに、ツールバーボタンを直接無効にすることをお勧めします。

void CtestDlg::OnBnClickedButton_DisableSomeControls()
{
command_menu_1 = !command_menu_1;
m_ToolBar.GetToolBarCtrl().EnableButton(ID_COMMAND_TEST, command_menu_1);
}

あまりエレガントではありませんが、うまくいきます!

于 2012-07-07T17:10:09.023 に答える