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 アプリケーションに読み込まれる前、またはコントロールが実行時に動的メニューに追加される前に限り実行できます。 詳細については、「リボン オブジェクト モデルの概要」を参照してください。
Task (タスク) |
メンバー |
---|---|
メニューにイメージを表示する。 |
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 ランタイムによって実装されたインターフェイスです。 コードに実装されるものではありません。 詳細については、「Visual Studio Tools for Office Runtime の概要」を参照してください。
使用方法
ここでは、.NET Framework 4 を対象とする Office プロジェクトで使用される型のバージョンについて説明します。.NET Framework 3.5 を対象とするプロジェクトでは、この型のメンバーが異なること、およびこのコード例が動作しないことがあります。 .NET Framework 3.5 を対象とするプロジェクトの型の詳細については、Visual Studio 2008 ドキュメントの参照セクション https://go.microsoft.com/fwlink/?LinkId=160658 を参照してください。
例
次の例では、実行時に既存のメニューにサブメニューを追加し、設定する方法を示します。
統合言語クエリ (LINQ: Language-Integrated Queries) を使用して、実行時にコントロールを更新し、AdventureWorks サンプル データベースからデータを取得する機能豊富な例については、「チュートリアル : 実行時のリボン コントロールの更新」を参照してください。
このコード例を実行するには、最初に次の手順を実行する必要があります。
[リボン (ビジュアル デザイナー)] アイテムを Office プロジェクトに追加します。
カスタム タブにグループを追加します。
グループにメニューを追加します。
メニューの (Name) プロパティを CustomerMenu に設定します。
メニューの Label プロパティを Customers に設定します。
メニューの 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 名前空間