問題タブ [cmenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6457 参照

c++ - メニュー項目を無効化/グレーアウトできないのはなぜですか? (MFC)

メソッドを使用してメニュー項目を無効化/グレーアウトしようとしていますCMenu::EnableMenuItem()

ダイアログのトップ メニューを参照するCMenu*変数があります。を使用しpMenuてサブメニューを取得し、取得したサブメニュー/メニュー項目の名前を確認できます。方法に困っていますが。メニューがあるとしましょう。その中には、ポップアップ メニューと、、、およびメニュー項目があります。とサブメニュー項目があります。(例) を使用すると、またはを無効にできますが、 、および、および および を含むすべてのメニュー項目に対して機能が失敗します。pMenu->GetSubMenu(int)submenu->GetMenuStringA()EnableMenuItem()FileNewOpenImportCloseClose AllNewOpenNew->Documentsubmenu->EnableMenuItem([position of submenu/menuitem], MF_BYPOSITION | MF_GRAYED);NewOpenImportCloseClose AllNewOpen

注:EnableMenuItem()失敗すると言っても、-1 を返すという意味ではありません。以前の状態に戻りますが、メニューが無効になったりグレー表示になったりすることはありません。

http://msdn.microsoft.com/en-us/library/h62wh3y1.aspxの MSDN ドキュメントでEnableMenuItem()は、これはポップアップ メニュー項目と標準メニュー項目の両方で機能すると主張しています。ただし、ポップアップのものでのみ機能するようです。

0 投票する
0 に答える
45 参照

mfc - CMDIFrameWnd Caption と CMenu を視覚的に統合

私のアプリケーションは、基本的に CMenu を持つ CMDIFrameWnd です。

独自のバーとしてキャプションとメニューを表示する視覚効果の作成をどこから開始できますか? デスクトップ上でアプリケーションを移動するためにも使用できるリボン メニューの一部をキャプションにマージする Office 2013 のようなものを入手したいと思います。

0 投票する
1 に答える
79 参照

c++ - リソース スクリプトまたは CMenu 関数を使用したサブメニューのないメニュー

サブメニューのないメニューを作成したい。
メニューを作成する一般的な方法は次のとおりです。

ここで、サブメニュー「コピー」「貼り付け」のない「ファイル」が必要です。どうすればこれを達成できますか?

0 投票する
1 に答える
1373 参照

mfc - MFC の CMenu 境界線の色

CMenu Owner draw menuから継承するクラスがあります

このクラスを使用すると、メニューは正しく表示されますが、たとえば、メニュー FILE を開くと、標準のメニュー色の境界線とセパレーターが表示されます

希望の色のこの部分もどのようにペイントできますか?

画像の下に、選択した色 (緑) のファイルのサブメニューと、境界線/スペーサーに灰色の標準 Windows メニューが表示されます。

ここに画像の説明を入力

0 投票する
1 に答える
1263 参照

c++ - ツールチップを CMenu アイテムに追加する

少し前に、テスト目的で CMenu 項目にツールチップを追加しようとしました。今、私はそれが必要であり、同じ問題に再び直面しています。

この質問と回答: MFC : Cmenu 項目にツールチップを追加する方法は?
この「改行マジック」は単に機能していないため、まったく役に立ちません。

また、問題を抱えているのは私だけではないようです: MFC CMenu tooltip not being displayed

結果は次のとおりです。

ここに画像の説明を入力

ただし、テキストの文字数を増やすと、メニュー ツールチップではなく、ポップアップ メニューが大きくなります。

この回答の他のリンクを見て、それらとプロジェクトを確認しました。しかし、これらは私が望むものではありません。

誰かが私が間違っていたことを知っていますか、または役立つ可能性のある別のソリューション/ソースがありますか?


編集: 以前にコメントで述べたように、問題を再現するための最小要件を備えたサンプル ソリューションを次に示します。(参照CMenuListCtrl.cpp(100))
VS2010 & VS2015 でテスト済み (同じ結果)。

0 投票する
1 に答える
80 参照

c++ - C++ CMenu の描画が正しくない (非カスタム)

私は現在、簡単なことをしようとしています:

右クリックすると、下の画像が表示されます。ただし、メニューは読み込まれます。カーソルをメニューの下に移動すると、サブメニューが正常に表示されることがわかります。このように動的にロードするメニューでこれを行います。ポインター (CMenu*) を作成しようとしましたが、引き続きこの問題が発生します。

ポイントは問いません(任意のポイントを入力します)。

問題の「これ」は派生 CView* クラスです。HWND オブジェクトをクリックしていますが、クリックしているこの特定のオブジェクトの CWnd::FromHandle() も取得しようとしましたが、それでも同じ問題が発生します。

私のトップメニュー構造と他のすべてのメニューは機能します-それはこの特定の場合にのみです。

元のメニューが実際に機能している必要があるときに MeasureItem 関数をオーバーライドするためだけに C++ CMenu クラスを派生させたくはありません。他のバージョンでは正常に機能します。

ヘルプ?

ここに画像の説明を入力