5

いくつかのアイテムを含むメニューがあり、それをMF_CHECKEDまたは に変更する必要がありますMF_UNCHECKED
また、現在チェックされているメニューの項目を確認するにはどうすればよいですか?

4

2 に答える 2

4

を呼び出すことにより、他の情報の中でチェック状態を取得できますGetMenuItemInfo。それは構造を埋めMENUITEMINFOます。メニュー項目がチェックされている場合、そのメンバーにはフラグが設定されますfStateMFS_CHECKED

メニュー項目のチェック状態を変更するには、 を呼び出しますSetMenuItemInfo。ユーティリティ機能もありますCheckMenuItem。ドキュメントには、この API 呼び出しは Windows 2000 以降のバージョンでは使用できない可能性があると記載されています。ただし、使用可能です。

于 2013-10-20T12:32:58.157 に答える
2

メニューの状態を独自の変数に保持するだけで、簡単な解決策になります。ただし、GetMenuItemInfo()を使用して、メニュー項目の状態を取得することができます (MENUITEMINFO.fState フィールド)。

于 2013-10-20T12:31:11.560 に答える