COMBOS_BEGIN-COMBOS_END
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
The COMBOS_BEGIN — COMBOS_END section contains entries that define a VSPackage's combo boxes.
コンボ ボックスのエントリ
コンボ ボックス エントリは、選択できるオプションのドロップダウン一覧を提供するツールバーの表示するコントロールを定義します。 オプションを選択] [-、コンボ ボックスの先頭にテキスト フィールド表示されます。 テキスト ファイルもと見なさ、編集フィールド ドロップダウン リストに追加、編集フィールドに入力されたもので。
All combo box controls are defined in the COMBOS_BEGIN — COMBOS_END section. コンボ ボックスの各項目には、最大 11 個のフィールド、コンマで区切られたから、セミコロン (;) で終わるが含まれています。 以下に例を示します。
Combo Box ID, Group ID, Priority, Fill Command ID, Width, Type, Flags, Button Text, Menu Text, ToolTip Text, Command Name;
これらのフィールドは、次の表に示すされ、指定された順序に表示 必要があります。 最後のフィールドをセミコロンで終了する必要があります。 ": コンボ ボックスのエントリ フィールド] を参照してください。 詳細の各フィールドについては「に」以降。
フィールド |
説明 |
---|---|
Combo Box ID |
コンボ ボックス コントロールを識別する GUID:ID ペアを指定します。 |
Group ID |
このコントロールを含むグループを識別する GUID:ID ペア。 |
Priority |
グループ内の他のアイテムに相対コンボ ボックスの配置を使用する値。 |
Fill Command ID |
識別子は、コンボの内容] ドロップダウン リスト ボックスする場合に、VSPackage に渡される、必要に入力があります。 |
Width |
論理単位で、コンボ ボックスの幅。 |
Type |
コンボ ボックス コントロールの種類。 |
Flags |
コンボの動作を変更する属性] コントロールをボックスします。 |
Button Text |
この、コンボ ボックス コントロールは通常使用されませんが、ToolTip Text フィールドが使用されます Button Text を指定しない場合。 |
Menu Text |
これは通常使用されませんコンボ ボックス コントロールの。 |
ToolTip Text |
コンボ ボックス コントロールのポップ ヒントに表示されますされるテキスト。 このフィールドは省略可能です。 指定しない場合、Button Text フィールドが使用されます。 |
Command Name |
コマンド ウィンドウの の で使用できるこのコンボ ボックスおよびキーの割り当てのコマンド名。 このフィールドは省略可能です。 Button Text フィールドには、指定されていない場合は、変換し、("My コンボ ボックス] を使用します。 なります"MyComboBox")。 |
コンボ ボックスの使用例 (VB)
The following code example from the File Explorer sample shows the COMBOS_BEGIN – COMBOS_END section. 次の使用例のエントリは読みやすくするためにインデントします。 実際、エントリにすべてのフィールドは、1 行にあります。 詳細については、「CMDS_SECTION-CMDS_END」を参照してください。
COMBOS_BEGIN
guidEUCmd:cmdidFilesFilter,
guidEUGrp:IDG_FILEPANE_FILTER,
0x0010,
cmdidFilesFilterHandler,
75,
DYNAMICCOMBO,
DEFAULTDISABLED,
"Filter",
,
"Filter";
COMBOS_END
コンボ ボックス エントリ フィールド
Each entry in the COMBOS_BEGIN – COMBOS_END section contains up to ten fields. すべてのフィールドを区切るコンマと、セミコロン (;) はそれぞれのエントリの末尾を示します。 順のフィールドは。
Combo Box ID
Combo Box ID フィールドには、コンボ ボックスを作成するを識別します。 常に Combo Box ID には、コンボ ボックス一意に識別する GUID:ID 組み合わせを指定します。 ID は他のコマンド、メニューのまたはグループを異なるにする必要があります。
例では Combo Box ID です。
guidEUCmd:cmdidFilesFilter
Group ID
Group ID フィールドは、コンボ ボックスが所属するプライマリ グループを指定します。
プライマリ グループなしコンボ ボックスを作成するにはする必要がありますかは self-hosted は、インスタンスは、独自の Combo Box ID 親グループとして使用します。
guidEUCmd:cmdidFilesFilter, guidEUCmd:cmdidFilesFilter, ...
または、コンボ ボックスの GUID と 0: のグループ ID を使用
guidEUCmd:cmdidFilesFilter, guidEUCmd:0, ...
If a combo box does not have a primary group, it must be placed on a toolbar with an entry in the CMDPLACEMENT_SECTION-CMDPLACEMENT_END section or it will not appear in the environment.
例では Group ID です。
guidEUGrp:IDG_FILEPANE_FILTER
注意
標準メニューで、コンボ ボックスを配置できるが許容されるユーザー インターフェイス (UI) の設計ではありません。動的サブメニューする場合は、型 Button と DynamicItemStart のフラグをコマンドを作成します。
Priority
Priority フィールドには] で、コンボ ボックス他のアイテムの基準に指定したグループ内の配置を指定します。 低い優先順位値を持つアイテムは、大きなの優先順位値のアイテムの前に表示されます。 使用例には、Priority フィールドは。
0x0010
When a combo box's hosting is defined by command placement, the priority value specified here is ignored in favor of that specified by the entry in the CMDPLACEMENT_SECTION-CMDPLACEMENT_END section.
Fill Command ID
Fill Command ID フィールドには、セカンダリ ID を環境を使用して、コンボ ボックスに表示する必要がありますされるアイテムを取得するを指定します。 コンボ ボックスに置く必要がありますアイテムの一覧を取得するにはこのコマンド ID の VSPackage の QueryStatus メソッドが呼び出されます。
例では、Fill Command ID は。
CmdidFilesFilterHandler
Width
Width フィールドには、ピクセル単位で、コンボ ボックスの幅を指定します。 上記の例で、Width フィールドが。
75
Combo Box Type
Combo Box Type フィールドには、大文字と小文字を区別しないありは、実装されているコンボ ボックスの種類を指定します。 4 種類がありますコンボ ボックスの VSPackage の使用。
コンボ ボックスの種類
説明
MRUCombo
最近 (MRUCombo) コンボ ボックスが作成され、VSPackage の代わりに、環境によって入力されます。 ユーザーがコンボ ボックス] に入力することと、環境をコンボ ボックスあたり 16 最後エントリを記憶します。 ユーザーがコンボ ボックス、または新しいものの種類で何かを選択、環境文字列を送信、適切な VSPackage。
DynamicCombo
DynamicCombo は、環境、VSPackage の代わりによって作成されます。 VSPackage はこのコンボ ボックスの内容を入力を担当します。 ユーザーは内のアイテムを選択するだけでなくこのコンボ ボックスに入力できます。 環境がコンボ ボックスで Exec メソッドが呼び出される、VSPackage セーフ配列で、コンボ ボックスの内容を取得する必要があります。 環境は配列データと、コンボ ボックスし作成します。
DropDownCombo
DropDownCombo も、VSPackage の代わりに、環境によって作成されます。 VSPackage はこのコンボ ボックスの内容を入力します。 ただし、ユーザーことはできませんは何もフィールドに入力編集-リストのドロップには、ユーザーをアイテムの一覧から選択できますを場所だけです。
IndexCombo
IndexCombo は、 DropDownCombo のようなの違いとようコマンドの実行中は開始されます。 DropDownCombo で、環境コマンド テキスト、コマンドを識別するのに使用します。 IndexCombo で、環境、アイテムのインデックス番号で、ドロップ ダウン リストとして使用コマンド識別子。
Flags
Flags フィールドには、コンボに配置する属性を指定します。 次の表は、コンボ フラグを Visual Studio をサポートします。
フラグ
説明
NoKeyCustomize
キーのカスタマイズを無効にします。
NoButtonCustomize
無効にボタンのカスタマイズ
NoCustomize
キーとボタンの両方のカスタマイズを inhibits します。
DefaultInvisible
コンボ ボックスは既定では非表示です。
DefaultDisabled
コンボ ボックスは、デフォルトで無効になっています。
DynamicVisibility
表示は QueryStatus から制御されます。
これは、メニューのツールバーではなく表示されるコンボ ボックスに適用されます。 アイテムには最上位レベルのツールバーは無効にするが非表示でなく、OLECMDF_INVISIBLE が QueryStatus から返されたとき。
CommandWellOnly
コンボ ボックスは、最上位メニューに表示されません。 ユーザーは、コマンド ウェル] ダイアログ ボックスで、親メニューをコンボ ボックスを追加することができます。 このフラグは、コンテキスト メニューのツールバー、メニューの [コントローラ、または連鎖メニューでの配置を影響しません。
IconAndText
コンボ ボックスのテキストが表示されます。 既定値はテキストがありません。
FilterKeys
「フィルタ キー」で説明 このテーブルの後のセクション。
NoAutoComplete
完全な機能の自動は無効です。
CaseSensitive
ユーザーのエントリは大文字と小文字が区別されます。
StretchHorizontally
このフラグが設定すると、幅、コンボ ボックスに対する最小幅なりをすべて予備の領域を塗りつぶす、コンボ ボックス拡大がある場合部屋ツールバーの。 これは、現象は、ツールバーが水平方向にドッキングされている、[ツールバーの 1 つだけのコンボ ボックス (フラグは、最後のコンボ ボックスを除くすべて無視されます) フラグを使用できる場合にのみ発生します。 このフラグは Visual Studio SDK にします。
Filtering Keys
環境は、VSPackage の Exec メソッドを Win32 のメッセージ数を渡します。 コンボ ボックスが FilterKeys フラグとフィルタのマークされている場合はキーのキーを押してメッセージも送信されます。 これらのメッセージ、WM_CHAR のいずれかが入力されている任意の文字を拒否する使用できます。
Exec メソッド (メッセージを送信しました) に応じて入力として発生のメッセージに関連付けられている値の配列です。 これらの値のいずれかが押されていたをキーあり、別の値はコンボ ボックスで現在の文字列です。 フラグのキーが処理されたを示すまたは特定のキーがいないことによってフィルタに設定できる出力パラメータが、Exec メソッド。
具体的には、入力配列は VARIANT の VT_VARIANT 、 SafeArray 種類とは次の順序で要素が含まれます。
(HWND, 4 バイト値) メッセージを送信した、ウィンドウ (VT_I4) のハンドル。
Win32 メッセージなどのコード WM_KEYDOWN、 WM_SETFOCUS、または WM_CHAR (VT_I4, 4 バイト値)。
メッセージの WPARAM値 (VT_I4, 4 バイト値)。
メッセージの LPARAM値 (VT_I4, 4 バイト値)。
コンボ ボックスの現在テキストはコントロール (VT_BSTR, 文字列) を編集します。
出力パラメータが VARIANTVT_I4 型に設定および環境対処、メッセージを示す値が指定ある必要があります (また、出力パラメータに設定可能 VT_BSTR 型と、エディット コントロールにコピーされる文字列に設定値)。
キーをフィルタ処理、VSFILTERKEYSFLAGS 列挙体からの次の値返される出力パラメータで。
-
通常の処理を続行します。 通常のルーティングに従って作業メッセージことができます。 これは out パラメータは設定されない場合のデフォルト コードです。
-
Exec メソッド処理のメッセージ; さらに処理を停止します。 これは特定キーの入力を拒否するときに使用する値です。
-
キーが押さをアクセラレータとして扱われます可能な場合、コマンドに割り当てられたです。 キーが押さコマンドにマップされていません]、メッセージは通常ルーティングから続行されます。
Button Text
Button Text フィールドに、コンボ ボックスの名前を指定され一般のみテキスト フィールド設定されます。 Button Text フィールドは、 Menu Text または ToolTip Text フィールドが未設定の場合に使用されます。
使用例には、Button Text フィールドは。
"Filter"
Menu Text
Menu Text フィールドには、標準のメニューは場合に、コンボ ボックスに対する表示されるテキスト指定します。 Menu Text フィールドが、コンボ ボックスに、標準のメニューに [UI お勧めがないは指定されて通常いません。 例の メニュー テキストの フィールドが空白です。
ToolTip Text
ToolTip Text フィールドは表示されるテキスト、コンボ ボックスに対するヒントで指定します。 ToolTip Text フィールドは空白または指定されていませんが場合、ツール ヒントのテキストは、 Button Text フィールドから取得されます。 例では、ToolTip Text フィールドに設定されます。
"Filter"
Command Name
Command Name フィールドは表示されるテキスト Command Window および] ユーザー設定 ダイアログ ボックスの ( ツール メニューから利用できる)、 キーボードの ウィンドウに指定します。 Command Name フィールドを指定しない場合、 Button Text フィールドは文字、数字、アンダースコア (_)、および埋め込みのピリオドを除くすべてを壊さによって使用されます。 たとえば、"My コンボ ボックス] "MyComboBox"になります。 例で、Command Name フィールドが指定されませんので、"フィルタ"の Button Text フィールド 使用されます。
参照
概念
VSPackage の IDE にユーザー インターフェイス要素を追加する方法