作成中の MFC アプリケーションがあります。このアプリケーションには、2 つのツールバーに対応する 2 つのメニュー オプションがあります。メニュー オプションは、ツールバーの表示を切り替えます。ツールバーが現在表示されているかどうかを確認するメニュー オプションが必要です。ここに私がこれまでに持っているものがあります:
BEGIN_MESSAGE_MAP(CLevelPackEditApp, CWinAppEx)
// Standard file based document commands
ON_UPDATE_COMMAND_UI(ID_LEVEL_PROPERTIES, &CLevelPackEditApp::OnViewLevelProperties)
END_MESSAGE_MAP()
void CLevelPackEditApp::OnViewLevelProperties(CCmdUI* pCmdUI)
{
// Get a handle to the main window
CMainFrame* main = ((CMainFrame*)m_pMainWnd);
// Get a handle to the level properties toolbar for the main window
CLevelProperties* obj = main->GetLevelProperties();
if (obj->IsWindowVisible())
{
pCmdUI->SetCheck(0);
obj->ShowPane(false, false, false);
} else {
pCmdUI->SetCheck();
obj->ShowPane(true, false, true);
}
}
それは動作します....一種の。チェックされているものとチェックされていないものを切り替えますが、1秒間に複数回切り替えます-メニュー項目をチェックするとメニューが更新されると思われるため、チェックされていないため、更新されているため、チェックされている、aaaannnd繰り返し。どうすればこれを回避できますか?