コントロールでは、ボタンに画像を表示したり、ボタン上にマウスポインタが置かれたときにツールチップを表示したりすることも可能です。ここでは、個々のボタンに割り当てられる機能について説明します。
ファンクションキーボタンに追加した、ファンクションキーのボタンは、
FunctionKeyButtonオブジェクトを使用して設定します。
DisplayStyle プロパティで画像を表示するように設定されている場合、画像をカスタマイズすることができます。GcFunctionKey コントロールには、独自のボタン画像が用意されており、デフォルトの状態では追加するキーに従い、下記のような画像が表示されます。

(図)デフォルトのボタン画像
デフォルトのイメージは、ボタンの
FunctionKeyプロパティの設定値をコントロールが描画していますが、
ImageTextプロパティを設定することで、イメージに表示する文字列を変更することができます。
Imports GrapeCity.Win.Bars
Dim FunctionKeyButton1 As New FunctionKeyButton
FunctionKeyButton1.FunctionKey = Keys.F2
FunctionKeyButton1.ImageText = "F2:クリア";
using GrapeCity.Win.Bars;
FunctionKeyButton functionKeyButton1 = new FunctionKeyButton();
functionKeyButton1.FunctionKey = Keys.F2;
functionKeyButton1.ImageText = "F2:クリア";

任意の画像をボタンに設定するには、Image プロパティを使用します。また、ボタン上のテキストと画像の位置については、TextImageRelation プロパティで設定します。
次のサンプルコードは、ファンクションキーボタンに追加したボタンに任意の画像を表示しています。
Imports GrapeCity.Win.Bars
Dim FunctionKeyButton1 As New FunctionKeyButton
FunctionKeyButton1.FunctionKey = Keys.F1
FunctionKeyButton1.Text = "F1-保存"
FunctionKeyButton1.ForeColor = Color.DarkOrange
FunctionKeyButton1.Font = new Font("Meiryo UI", 12, FontStyle.Bold)
FunctionKeyButton1.TextAlign = ContentAlignment.MiddleCenter
FunctionKeyButton1.Image = Image.FromFile("C:\images\Save.png")
FunctionKeyButton1.ImageAlign = ContentAlignment.MiddleCenter
FunctionKeyButton1.TextImageRelation = TextImageRelation.ImageAboveText
GcFunctionKey1.FunctionKeyButtons.Add(FunctionKeyButton1)
Dim FunctionKeyButton2 As New FunctionKeyButton
FunctionKeyButton2.FunctionKey = Keys.F10
FunctionKeyButton2.Text = "F10-ホーム"
FunctionKeyButton2.ForeColor = Color.DarkGreen
FunctionKeyButton2.Font = new Font("Meiryo UI", 12, FontStyle.Bold)
FunctionKeyButton2.TextAlign = ContentAlignment.MiddleCenter
FunctionKeyButton2.Image = Image.FromFile("C:\images\Home.png")
FunctionKeyButton2.ImageAlign = ContentAlignment.MiddleCenter
FunctionKeyButton2.TextImageRelation = TextImageRelation.ImageAboveText
GcFunctionKey1.FunctionKeyButtons.Add(FunctionKeyButton2)
Dim FunctionKeyButton3 As New FunctionKeyButton
FunctionKeyButton3.FunctionKey = Keys.F12
FunctionKeyButton3.Text = "F12-ログアウト"
FunctionKeyButton3.ForeColor = Color.RoyalBlue
FunctionKeyButton3.Font = new Font("Meiryo UI", 12, FontStyle.Bold)
FunctionKeyButton3.TextAlign = ContentAlignment.MiddleCenter
FunctionKeyButton3.Image = Image.FromFile("C:\images\Logout.png")
FunctionKeyButton3.ImageAlign = ContentAlignment.MiddleCenter
FunctionKeyButton3.TextImageRelation = TextImageRelation.ImageAboveText
GcFunctionKey1.FunctionKeyButtons.Add(FunctionKeyButton3)
using GrapeCity.Win.Bars;
FunctionKeyButton functionKeyButton1 = new FunctionKeyButton();
functionKeyButton1.FunctionKey = Keys.F1;
functionKeyButton1.Text = "F1-保存";
functionKeyButton1.ForeColor = Color.DarkOrange;
functionKeyButton1.Font = new Font("Meiryo UI", 12, FontStyle.Bold);
functionKeyButton1.TextAlign = ContentAlignment.MiddleCenter;
functionKeyButton1.Image = Image.FromFile(@"C:\images\Save.png");
functionKeyButton1.ImageAlign = ContentAlignment.MiddleCenter;
functionKeyButton1.TextImageRelation = TextImageRelation.ImageAboveText;
gcFunctionKey1.FunctionKeyButtons.Add(functionKeyButton1);
FunctionKeyButton functionKeyButton2 = new FunctionKeyButton();
functionKeyButton2.FunctionKey = Keys.F10;
functionKeyButton2.Text = "F10-ホーム";
functionKeyButton2.ForeColor = Color.DarkGreen;
functionKeyButton2.Font = new Font("Meiryo UI", 12, FontStyle.Bold);
functionKeyButton2.TextAlign = ContentAlignment.MiddleCenter;
functionKeyButton2.Image = Image.FromFile(@"C:\images\Home.png");
functionKeyButton2.ImageAlign = ContentAlignment.MiddleCenter;
functionKeyButton2.TextImageRelation = TextImageRelation.ImageAboveText;
gcFunctionKey1.FunctionKeyButtons.Add(functionKeyButton2);
FunctionKeyButton functionKeyButton3 = new FunctionKeyButton();
functionKeyButton3.FunctionKey = Keys.F12;
functionKeyButton3.Text = "F12-ログアウト";
functionKeyButton3.ForeColor = Color.RoyalBlue;
functionKeyButton3.Font = new Font("Meiryo UI", 12, FontStyle.Bold);
functionKeyButton3.TextAlign = ContentAlignment.MiddleCenter;
functionKeyButton3.Image = Image.FromFile(@"C:\images\Logout.png");
functionKeyButton3.ImageAlign = ContentAlignment.MiddleCenter;
functionKeyButton3.TextImageRelation = TextImageRelation.ImageAboveText;
gcFunctionKey1.FunctionKeyButtons.Add(functionKeyButton3);
FunctionKeyButton クラスの ToolTipText プロパティに文字列を設定し、GcFunctionKey コントロールの ShowItemToolTips プロパティを True にすると、そのファンクションキーボタンにマウスポインタが置かれたときに、ツールチップ(ToolTipText プロパティで設定した文字列)を表示することができます。
CombinationKeyDisplayModeプロパティは、ファンクションキーボタンに追加されたボタンの表示モードを設定します。CombinationKeyDisplayMode.Dynamic に設定されている場合、ファンクションキーボタンの表示は修飾子(Ctrl、Shift、Altキー)によってフィルタされます。例えば、ファンクションキーボタンに[Shift]+[A]キーが設定されていると、[Shift]キー押下時のみこのキーボタンが表示されます。CombinationKeyDisplayMode.Always に設定されている場合は、修飾子によるフィルタは行われず、表示可能なファンクショントキーボタンはすべて表示されます。
次のサンプルコードで追加したファンクションキーボタンは表示モードによって以下のように表示されます。
Imports GrapeCity.Win.Bars
Dim FunctionKeyButton1 As New FunctionKeyButton
FunctionKeyButton1.FunctionKey = Keys.F1
FunctionKeyButton1.Text = "ヘルプ"
Dim FunctionKeyButton2 As New FunctionKeyButton
FunctionKeyButton2.FunctionKey = Keys.F2
FunctionKeyButton2.Text = "参照"
Dim FunctionKeyButton3 As New FunctionKeyButton
FunctionKeyButton3.FunctionKey = Keys.F4
FunctionKeyButton3.Text = "戻る"
Dim FunctionKeyButton4 As New FunctionKeyButton
FunctionKeyButton4.FunctionKey = Keys.F5
FunctionKeyButton4.Text = "検索"
Dim FunctionKeyButton5 As New FunctionKeyButton
FunctionKeyButton5.FunctionKey = Keys.F12
FunctionKeyButton5.Text = "更新"
GcFunctionKey1.FunctionKeyButtons.AddRange(New FunctionKeyButton() { _
FunctionKeyButton1, FunctionKeyButton2, FunctionKeyButton3, _
FunctionKeyButton4, FunctionKeyButton5})
Dim FunctionKeyButton6 As New FunctionKeyButton
FunctionKeyButton6.FunctionKey = Keys.Control Or Keys.Down
FunctionKeyButton6.Text = "前のページ"
Dim FunctionKeyButton7 As New FunctionKeyButton
FunctionKeyButton7.FunctionKey = Keys.Control Or Keys.Up
FunctionKeyButton7.Text = "次のページ"
GcFunctionKey1.FunctionKeyButtons.AddRange(New FunctionKeyButton() { _
FunctionKeyButton6, FunctionKeyButton7})
Dim FunctionKeyButton8 As New FunctionKeyButton
FunctionKeyButton8.FunctionKey = Keys.Shift Or Keys.A
FunctionKeyButton8.Text = "全件選択"
GcFunctionKey1.FunctionKeyButtons.Add(FunctionKeyButton8)
using GrapeCity.Win.Bars;
FunctionKeyButton functionKeyButton1 = new FunctionKeyButton();
functionKeyButton1.FunctionKey = Keys.F1;
functionKeyButton1.Text = "ヘルプ";
FunctionKeyButton functionKeyButton2 = new FunctionKeyButton();
functionKeyButton2.FunctionKey = Keys.F2;
functionKeyButton2.Text = "参照";
FunctionKeyButton functionKeyButton3 = new FunctionKeyButton();
functionKeyButton3.FunctionKey = Keys.F4;
functionKeyButton3.Text = "戻る";
FunctionKeyButton functionKeyButton4 = new FunctionKeyButton();
functionKeyButton4.FunctionKey = Keys.F5;
functionKeyButton4.Text = "検索";
FunctionKeyButton functionKeyButton5 = new FunctionKeyButton();
functionKeyButton5.FunctionKey = Keys.F12;
functionKeyButton5.Text = "更新";
gcFunctionKey1.FunctionKeyButtons.AddRange(new FunctionKeyButton[] {
functionKeyButton1, functionKeyButton2, functionKeyButton3,
functionKeyButton4, functionKeyButton5});
FunctionKeyButton functionKeyButton6 = new FunctionKeyButton();
functionKeyButton6.FunctionKey = Keys.Control | Keys.Down;
functionKeyButton6.Text = "前のページ";
FunctionKeyButton functionKeyButton7 = new FunctionKeyButton();
functionKeyButton7.FunctionKey = Keys.Control | Keys.Up;
functionKeyButton7.Text = "次のページ";
gcFunctionKey1.FunctionKeyButtons.AddRange(new FunctionKeyButton[] {
functionKeyButton6, functionKeyButton7});
FunctionKeyButton functionKeyButton8 = new FunctionKeyButton();
functionKeyButton8.FunctionKey = Keys.Shift | Keys.A;
functionKeyButton8.Text = "全件選択";
gcFunctionKey1.FunctionKeyButtons.Add(functionKeyButton8);

(図)CombinationKeyDisplayMode プロパティがDynamic の場合の通常時

(図)CombinationKeyDisplayMode プロパティがDynamic の場合のControlキー押下時

(図)CombinationKeyDisplayMode プロパティがDynamic の場合のShiftキー押下時

(図)CombinationKeyDisplayMode プロパティがAlways の場合
また、
Sorted プロパティを True に設定すると、ファンクションキーボタンに追加されたボタンがソートされた状態で表示されます。
GcFunctionKey コントロールの描画スタイルを、Windows クラシックのようなスタイルに設定することができます。描画スタイルをクラシックスタイルに設定するには、スマートタグで「クラシックスタイルを使用する」をチェックします。


「クラシックスタイルを使用する」をチェックした場合、「描画スタイル」(RenderMode プロパティ)が Custom に設定されます。チェックを外すと、デフォルト値の ManagedRenderMode にリセットされます。また、チェックした後、「描画スタイル」(RenderMode プロパティ)をほかの値に指定すると、「クラシックスタイルを使用する」のチェックは外されます。
また、下記のコードを記述することでも設定が可能です。
GcFunctionKey1.Renderer = New GrapeCity.Win.Bars.ToolStripClassicRenderer
gcFunctionKey1.Renderer = new GrapeCity.Win.Bars.ToolStripClassicRenderer;
FunctionKeySource プロパティを使って GcFunctionKey コントロールに外部コントロールのショートカット設定を読み込むことができます。指定できるコントロールは、MenuStrip とContextMenuStrip コントロールの2種類です。

MenuStrip を指定した場合、その MenuStrip のショートカット設定が GcFunctionKey コントロールの FunctionKeyButton に表示されます。
ContextMenuStrip を指定した場合はフォーカスがその ContextMenuStrip のオーナーコントロールに移動したとき、ContextMenuStrip のショートカット設定が GcFunctionKey コントロールの FunctionKeyButton に表示されます。
' MenuStrip と ContextMenuStrip を GcFunctionKeyのソースに指定します。
GcFunctionKey1.FunctionKeySource = New Object() {MenuStrip1, ContextMenuStrip1}
// MenuStrip と ContextMenuStrip を GcFunctionKeyのソースに指定します。
gcFunctionKey1.FunctionKeySource = new object[] {menuStrip1, contextMenuStrip1};
.NET Framework標準のMenuStripやToolStripのように、GcFunctionKeyコントロールもToolStripContainerに埋め込むことができます。MenuStripやToolStripと同様に、デザイン画面でGcFunctionKey コントロールをフォームの上端、右端、下端、左端へ配置することが可能です。
GcFunctionKey コントロールの配置は、スマートタグから「ToolStripContainer に埋め込む」を選択するか、下記のようなコードで実現します。
ToolStripContainer1.TopToolStripPanel.Controls.Add(GcFunctionKey1)
toolStripContainer1.TopToolStripPanel.Controls.Add(gcFunctionKey1);