VS2005、MFCで開発しています。
メニューの項目を条件によって選択可能、不可能(淡色表示)に設定したいと考えています。
メニューを選択クリックし、そのメニューに含まれているメニューが下に表示される時に選択可能、不可能の設定はできないものなのでしょうか?
UPDATE_COMMAND_UIを使用すればいいと思っていたのですが、UPDATE_COMMAND_UIのイベントが走るのが、UPDATE_COMMAND_UIを関連付けたメニューをクリックした時になってしまいます。
誰か分かる方がいましたら、教えてください。
よろしくお願い致します。
Win32SDKの場合だとEnableMenuItemで活性、非活性を設定できます。
確かMFCでも同じような関数があったはずです。
参照:猫でも分かるプログラミングSDK編47章
http://www.kumei.ne.jp/c_lang/sdk/sdk_47.htm
VS2005 MFCでSDIを使って試しにやってみましたが、
特に問題なく、制御できています。
もちろん、UPDATE_COMMAND_UIを使っています。
提示されている情報が少ないので同じ事をやっているという保障はありません。
ですが、基本的にはうまく行くはずです。
IDEのウィザードが用意してくれた雛形をそのまま使っているなら
動くと思いますが、特殊な設定をしてプロジェクトを起こしたのなら
そこまで提示してください。
雛形に手を入れている場合、その修正が影響している可能性もあります。
その場合は、それも含めて提示しないと判断できないと思いますよ。
単純に使い方が悪いだけかもしれませんし、ソースを提示してはどうでしょう。
ツイート | ![]() |