次の方法で共有


RibbonMenu インターフェイス

リボン タブまたは Microsoft Office メニュー上のメニューを表します。

名前空間:  Microsoft.Office.Tools.Ribbon
アセンブリ:  Microsoft.Office.Tools.Common (Microsoft.Office.Tools.Common.dll 内)

構文

'宣言
<GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")> _
Public Interface RibbonMenu _
    Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : RibbonControl, 
    RibbonComponent, IComponent, IDisposable

RibbonMenu 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ ControlSize メニューのサイズを取得または設定します。
パブリック プロパティ Description 現在のメニュー上に表示するテキストを取得または設定します。
パブリック プロパティ Dynamic 実行時にメニューを変更できるかどうかを示す値を取得または設定します。
パブリック プロパティ Enabled この RibbonControl が使用可能になっているかどうかを示す値を取得または設定します。 (RibbonControl から継承されます。)
パブリック プロパティ Id この RibbonControl オブジェクトを識別するために Microsoft Office で使用される文字列を取得します。 (RibbonControl から継承されます。)
パブリック プロパティ Image メニューに表示されるイメージを取得または設定します。
パブリック プロパティ ImageName メニューのイメージを指定するために LoadImage イベント ハンドラーで使用できる名前を取得または設定します。
パブリック プロパティ Items メニュー上のコントロールのコレクションを取得します。
パブリック プロパティ ItemSize メニュー上のコントロールのサイズを取得または設定します。
パブリック プロパティ KeyTip メニューのキーボード アクセス キーを取得または設定します。
パブリック プロパティ Label メニューによって表示されるテキストを取得または設定します。
パブリック プロパティ Name この RibbonComponent の名前を取得または設定します。 (RibbonComponent から継承されます。)
パブリック プロパティ OfficeImageId Microsoft Office の組み込みアイコンを使用する場合に、メニュー上に表示するイメージを取得または設定します。
パブリック プロパティ Parent この RibbonComponent の親を表す RibbonComponent を取得します。 (RibbonComponent から継承されます。)
パブリック プロパティ Position メニューが Microsoft Office メニュー上にある場合に、メニューの位置を取得または設定します。
パブリック プロパティ Ribbon コントロール階層を含む最上位の Ribbon オブジェクトを取得します。 (RibbonComponent から継承されます。)
パブリック プロパティ RibbonUI インフラストラクチャ。Microsoft Office アプリケーションによってリボン機能拡張コードに提供される IRibbonUI のインスタンスを取得します。 (RibbonComponent から継承されます。)
パブリック プロパティ ScreenTip ユーザーがポインターをメニューの上に移動したときに表示されるヒント テキストを取得または設定します。
パブリック プロパティ ShowImage メニューに関連付けられているイメージが表示されるかどうかを示す値を取得または設定します。
パブリック プロパティ ShowLabel メニューのラベルが表示されるかどうかを示す値を取得または設定します。
パブリック プロパティ Site IComponent に関連付けられた ISite を取得または設定します。 (IComponent から継承されます。)
パブリック プロパティ SuperTip ユーザーがポインターをメニューの上に移動したときに表示される複数行のヒント テキストを取得または設定します。
パブリック プロパティ Tag この RibbonComponent と関連付けられたアプリケーション固有のデータを取得または設定します。 (RibbonComponent から継承されます。)
パブリック プロパティ Title Microsoft Office メニューに追加されたメニューをユーザーが展開したときに表示されるタイトルを取得または設定します。
パブリック プロパティ Visible この RibbonControl が表示されるかどうかを示す値を取得または設定します。 (RibbonControl から継承されます。)

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Dispose アンマネージ リソースの解放およびリセットに関連付けられているアプリケーション定義のタスクを実行します。 (IDisposable から継承されます。)
パブリック メソッド PerformDynamicLayout RibbonComponent に動的メニューなどの動的な親があり、レイアウトが中断されていない場合、親コントロールの Microsoft.Office.Core.IRibbonUI.InvalidateControl メソッドを呼び出します。 (RibbonComponent から継承されます。)
パブリック メソッド PerformLayout RibbonComponent に親があり、レイアウトが中断されていない場合、Microsoft.Office.Core.IRibbonUI.InvalidateControl を呼び出します。 (RibbonComponent から継承されます。)
パブリック メソッド ResumeLayout() SuspendLayout メソッドの実行結果を元に戻します。 (RibbonComponent から継承されます。)
パブリック メソッド ResumeLayout(Boolean) SuspendLayout メソッドの実行結果を元に戻します。 (RibbonComponent から継承されます。)
パブリック メソッド SuspendLayout Microsoft Office アプリケーションがリボン上のコントロールの状態を更新しないようにします。 (RibbonComponent から継承されます。)

このページのトップへ

イベント

  名前 説明
パブリック イベント Disposed コンポーネントの Disposed イベントを処理するメソッドを表します。 (IComponent から継承されます。)
パブリック イベント ItemsLoading コントロールまたは入れ子になっているメニューが、実行時に現在のメニューに読み込まれるときに発生します。

このページのトップへ

解説

Visual Studio は、[ツールボックス][Office リボン コントロール] タブから Menu コントロールをリボン デザイナーにドラッグすると、RibbonMenu オブジェクトを作成します。

RibbonMenu は、RibbonFactory オブジェクトの CreateRibbonMenu メソッドを使用して実行時に作成できます。

RibbonFactory オブジェクトにアクセスするには、次の 2 つの方法があります。

  • リボン クラスの Factory プロパティの使用。この方法は、リボン クラス内のコードから使用します。

  • Globals.Factory.GetRibbonFactory メソッドの使用。この方法は、リボン クラス外のコードから使用します。

一般的なタスク

一般的なタスクで有用なメンバーを次の表に示します。これらのタスクは、すべてデザイン時に実行できます。一部のタスクは、実行時にリボンが Office アプリケーションに読み込まれる前、またはコントロールが実行時に動的メニューに追加される前に限り実行できます。詳細については、「リボン オブジェクト モデルの概要」を参照してください。

タスク

メンバー

メニューにイメージを表示する。

Image プロパティまたは ImageName プロパティを使用します。

組み込みのリボン コントロールに表示されるイメージを再利用することもできます。これを行うには、OfficeImageId を、メニューのアイコンとして表示する Microsoft Office の組み込みイメージの ID に設定します。

メニューのサイズを変更する。

ControlSize プロパティを任意の値に設定します。たとえば、大きなメニューの場合は、Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge に設定します。

メニュー項目のサイズを変更する。

ItemSize プロパティを任意の値に設定します。たとえば、大きな項目を表示するには、Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge に設定します。

実行時にメニューを変更できるようにする (たとえば、実行時にコントロールをメニューに追加できるようにする)。

Dynamic プロパティを true に設定します。

メニューのコントロールにアクセスする、メニューにコントロールを追加する、またはメニューからコントロールを削除する。

Items プロパティを使用します。

Microsoft Office メニュー、グループ、またはメニューを追加できる別のコントロールにメニューを追加する。

RibbonMenu を、Microsoft Office メニュー、グループ、またはコントロールの Items プロパティに追加します。

[!メモ]

これは、Visual Studio Tools for Office Runtime によって実装されたインターフェイスです。コードに実装されるものではありません。詳細については、「Visual Studio Tools for Office Runtime の概要」を参照してください。

使用方法

ここでは、.NET Framework 4 および .NET Framework 4.5 を対象とする Office プロジェクトで使用される型のバージョンについて説明します。.NET Framework 3.5 を対象とするプロジェクトでは、この型のメンバーが異なること、およびこのコード例が動作しないことがあります。.NET Framework 3.5 を対象とするプロジェクトの型の詳細については、Visual Studio 2008 ドキュメントの参照セクション https://go.microsoft.com/fwlink/?LinkId=160658 を参照してください。

次の例では、実行時に既存のメニューにサブメニューを追加し、設定する方法を示します。

統合言語クエリ (LINQ: Language-Integrated Queries) を使用して、実行時にコントロールを更新し、AdventureWorks サンプル データベースからデータを取得する機能豊富な例については、「チュートリアル : 実行時のリボン コントロールの更新」を参照してください。

このコード例を実行するには、最初に次の手順を実行する必要があります。

  1. [リボン (ビジュアル デザイナー)] アイテムを Office プロジェクトに追加します。

  2. カスタム タブにグループを追加します。

  3. グループにメニューを追加します。

  4. メニューの (Name) プロパティを CustomerMenu に設定します。

  5. メニューの Label プロパティを Customers に設定します。

  6. メニューの Dynamic プロパティを true に設定します。

    これにより、リボンが Office アプリケーションに読み込まれた後で、実行時にメニュー上のコントロールを追加および削除できます。

Private Sub PopulateCustomerMenu()
    ' Add two sub-menus to EmployeeMenu and populate each sub-menu
    ' First sub-menu
    Dim subMenu1 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
    CustomerMenu.Items.Add(subMenu2)

End Sub
private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = this.Factory.CreateRibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = this.Factory.CreateRibbonMenu();
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

参照

関連項目

Microsoft.Office.Tools.Ribbon 名前空間

その他の技術情報

リボンの概要

リボン デザイナー

リボン オブジェクト モデルの概要

方法 : リボンのカスタマイズの概要