TPM_RETURNCMD フラグを指定した TrackPopupMenu() API を使用してポップアップ コンテキスト メニューを表示するとします。コンテキスト メニューが表示されている間に、Shift キーまたは Ctrl キーがキーボードで押されているかどうかを確認し、それに応じてコンテキスト メニューのいくつかのメニュー項目を更新する必要があります。それは可能ですか?
1164 次
2 に答える
1
メニュー項目を変更するには、何かを::SetMenuItemInfo()
呼び出し て::DrawMenuBar()
から、再描画するために呼び出す必要があります。
于 2012-11-04T23:52:23.740 に答える
1
これは、開発しているプラットフォームの標準的なユーザー エクスペリエンスではありません。私はそのような行動にイライラすることを知っています。Windows プラットフォームでは、メニューを開く前にメタ キーを押すのが標準です。たとえば、Shift キーを押しながらエクスプローラーで項目を右クリックすると、変更されたコンテキスト メニュー ("Open with..." または "Open in new process" など) が表示されます。
プラットフォームの規則に従います。Mac 上のアプリケーションが Windows 上のアプリケーションのように動作するとは思わないし、Windows 上のアプリケーションが Mac 上のアプリケーションのように動作するとも思わない。慣例を尊重しないと、迷惑なユーザーの大規模なコミュニティになる危険があります。[ロータス ノーツ、SAP を参照]
于 2012-11-08T13:36:58.377 に答える