メニュー項目のチェックを設定する方法mfc C++これを試すが、常にチェックされていないメニュー項目。メニュー項目mfcのチェックを設定する方法C++
CString tcBuff;
CMenu popMenu;
popMenu.LoadMenu(nMenuID);
if (text.Compare(defaultconfig) == 0)
{
tcBuff.LoadStringW(IDC_DEFAULTREMOVE);
popMenu.ModifyMenuW(ID_CONFIGURATION_DEFAULT,0,ID_CONFIGURATION_DEFAULT,tcBuff);
popMenu.CheckMenuItem(IDC_DEFAULTREMOVE, MF_CHECKED || MF_BYCOMMAND);
}
ありがとうございます。
あなたは新しい 'CMenu'オブジェクトではなく、あなたのアプリケーションで使用される*実際の*メニューを変更しています。おそらく、[C++の良い本](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)を手に入れて、RAIIを理解していることを確認してください。 –
回答ありがとう、私は私の問題を解決しました:) – nidhal
通常、メニュー項目をチェックするには、そうしないでください。 ** ON_UPDATE_COMMAND_UI(IDC_DEFAULTREMOVE、function)**を使用して、メニュー項目をIDで処理する関数を使用する必要があります。 ** function **にはパラメータ** pCmdUI **があります。したがって、** if **ブロック内で** pCmdUI-> SetCheck(TRUE); **および** pCmdUI-> SetText(tcBuff); **を実行できます。 – sergiol