Share via


メニュー エディター (C++)

メニューを使用すると、論理的かつ見つけやすい方法でコマンドを配置できます。 メニュー エディターでは、完成したアプリケーションとよく似たメニュー バーを直接操作することでメニューの作成と編集ができます。

ヒント

メニュー エディターの使用中は、多くの場合、右クリックして、頻繁に使用されるコマンドのポップアップ メニューを表示できます。 使用できるコマンドは、ポインターの位置によって異なります。

操作方法

メニュー エディターでは、以下の操作が可能です。

標準メニューを作成するには

  1. メニューの [表示]>[リソース ビュー] または [表示]>[その他のウィンドウ]>[リソース ビュー] に進み、[メニュー] 見出しを右クリックします。 [リソースの追加] を選択してから、[メニュー] を選択します。

  2. メニュー バーで、[新しい項目] ボックス ("ここへ入力" と表示されている四角形) を選びます。

    New Item box in the menu editor.
    [新しい項目] ボックス

  3. たとえば "File" など、新しいメニューの名前を入力します。

    入力したテキストは、メニュー エディターと、[プロパティ] ウィンドウ[キャプション] ボックスの両方に表示されます。 新しいメニューのプロパティはこのどちらからでも編集できます。

    メニュー バーで新しいメニューの名前を指定すると、(別のメニューを追加できるように) [新しい項目] ボックスが右に移動します。 メニュー コマンドを追加できるように、最初のメニューの下に別の [新しい項目] ボックスが開きます。

    Expanded New Item box.
    メニュー名の入力後にフォーカスが移動した [新しい項目] ボックス

    Note

    メニュー バーで単一項目のメニューを作成するには、[Popup] プロパティを [False] に設定します。

サブメニューを作成するには

  1. サブメニューを作成するメニュー コマンドを選択します。

  2. 右側に表示される [新しいアイテム] ボックスに、新しいメニュー コマンドの名前を入力します。 サブメニューのメニューには、この新しいコマンドが最初に表示されます。

  3. サブメニューのメニューにさらにメニュー コマンドを追加します。

既存のメニュー間に新規メニューを挿入するには

既存のメニュー名を選択し、Insert キーを押します。または、メニュー バーを右クリックして [Insert New] (新規の挿入) を選択します。

選択した項目の前に、[新しい項目] ボックスが挿入されます。

メニューにコマンドを追加するには

  1. メニューを作成します。 次に、メニュー名 (File など) を選択します。

    各メニューが展開され、コマンド用の新しい項目ボックスが表示されます。 たとえば、[ファイル] メニューに [新規][開く][閉じる] の各コマンドを追加できます。

  2. [新しい項目] ボックスに新しいメニュー コマンドの名前を入力します。

    Note

    入力したテキストは、メニュー エディターと、[プロパティ] ウィンドウ[キャプション] ボックスの両方に表示されます。 新しいメニューのプロパティはこのどちらからでも編集できます。

    ヒント

    ユーザーがメニュー コマンドを選択できるようにするニーモニック キー (ホット キー) を定義することができます。 ニーモニックとして指定する文字の前にアンパサンド (&) を入力します。 この文字を入力することで、ユーザーはメニュー コマンドを選択できます。

  3. [プロパティ] ウィンドウで、該当するメニュー コマンドのプロパティを選択します。 詳細については、メニュー コマンドのプロパティに関するページを参照してください。

  4. [プロパティ] ウィンドウの [プロンプト] ボックスに、アプリケーションのステータス バーに表示するプロンプト文字列を入力します。

    この手順により、作成したメニュー コマンドと同じリソース識別子を持つエントリが文字列テーブル内に作成されます。

    Note

    プロンプトは、[Popup] プロパティが [True] のメニュー項目にのみ適用できます。 たとえば、トップレベルのメニュー項目にサブメニュー項目がある場合、プロンプトを適用できます。 プロンプトの目的は、ユーザーがメニュー項目を選択したときに発生する動作を示すことです。

  5. Enter キーを押してメニュー コマンドを完了します。

    [新しい項目] ボックスが選択され、さらにメニュー コマンドを作成できるようになります。

複数のメニュー コマンドを選択して、プロパティの削除や変更などの一括操作を実行するには

Ctrl キーを押しながら、目的のメニューまたはサブメニューのコマンドを選択します。

メニューとメニュー コマンドを移動およびコピーするには

  • ドラッグ アンド ドロップのメソッドを使用する場合。

    1. 移動する項目を次の場所にドラッグまたはコピーします。

      • 現在のメニュー上の新しい場所。

      • 別のメニュー 他のメニューに移動するには、そのメニューにマウス ポインターをドラッグします。

    2. 挿入ガイドで目的の位置が示されたら、メニュー コマンドをドロップします。

  • ショートカット メニューのコマンドを使用する場合。

    1. 1 つ以上のメニューまたはメニュー コマンドを右クリックし、[切り取り] (移動するため) または [コピー] を選択します。

    2. 項目を別のメニュー リソース ファイルまたはリソース スクリプト ファイルに移動する場合は、そのファイルを別のウィンドウで開きます

    3. メニューやメニュー コマンドを移動またはコピーする位置を選択します。

    4. ショートカット メニューの [貼り付け]を選択します。 移動またはコピーする項目は、選択した項目の前に配置されます。

Note

ドラッグでコピーした項目を別のメニュー ウィンドウの別のメニューに貼り付けることもできます。

メニューまたはメニュー コマンドを削除するには

メニュー名またはコマンドを右クリックし、[削除] を選択します。

Note

同様に、ショートカット メニューを使用して、コピー、切り取り、貼り付け、新しい項目の挿入、区切り記号の挿入、ID の編集、ポップアップとして表示、ニーモニックの確認などの操作を実行することができます。

ポップアップ メニュー

ポップアップ メニュー には、頻繁に使用するコマンドが表示されます。 これらは状況依存となっていて、マウス ポインターの場所に応じて表示できます。 アプリケーションでポップアップ メニューを使用には、メニュー自体をビルドし、アプリケーション コードに接続する必要があります。

メニュー リソースを作成したら、アプリケーション コードでメニュー リソースを読み込み、TrackPopupMenu を使用してメニューを表示する必要があります。 ユーザーがメニューの外部を選択してポップアップ メニューを閉じるか、コマンドを選択すると、この関数に戻ります。 ユーザーがコマンドを選択した場合は、そのコマンドのメッセージが、ハンドルが渡されたウィンドウに送信されます。

Note

Microsoft Foundation Class (MFC) ライブラリ プログラムおよび ATL プログラムの場合は、コード ウィザードを使用して、メニュー コマンドをコードにフックします。 詳細については、「イベントの追加」および「関数へのメッセージの割り当て」を参照してください。

  • ポップアップ メニューを作成するには、空のタイトルでメニューを作成し、キャプションを指定しません。 その後、新しいメニューにメニュー コマンドを追加します。 空のメニュー タイトルの下にある最初のメニュー コマンドに移動し (一時的なキャプション [ここに入力] が表示されます)、"キャプション" とその他の情報を入力します。

    ポップアップ メニューのその他のメニュー コマンドに対してこのプロセスを繰り返し、必ずメニュー リソースを保存します。

  • ポップアップ メニューをアプリケーションに関連付けるには、たとえば、WM_CONTEXTMENU のメッセージ ハンドラーを追加し、次のコードをそのメッセージ ハンドラーに追加します。

    CMenu menu;
    VERIFY(menu.LoadMenu(IDR_MENU1));
    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);
    pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
    

    Note

    メッセージ ハンドラーによって渡される CPoint は、画面座標単位です。

通常、メニュー エディターを使用しているときは、メニュー リソースがメニュー バーとして表示されます。 ただし、プログラムの実行中にアプリケーションのメニュー バーにメニュー リソースが追加されている場合もあります。

  • メニュー リソースをポップアップ メニューとして表示するには、メニューを右クリックし、[ポップアップ表示] を選択します。

    このオプションは単なる表示設定であり、メニューは変更されません。

ヒント

メニュー バーの表示に戻るには、[ポップアップ表示] をもう一度選択します。 この操作により、チェック マークが解除され、メニュー バーの表示に戻ります。

必要条件

Win32

関連項目

Resource Editors
メニュー コマンド
ユーザー インターフェイス オブジェクトとコマンド ID
メニュー
メニュー