PowerTools PlusPak for Windows Forms 8.0J
個々のボタン設定

GcClassicFunctionKey コントロールでは、ボタンに画像を表示したり、ボタン上にマウスポインタが置かれたときにツールチップを表示することができます。ここでは、個々のボタンに割り当てられる機能について説明します。

コントロール上のすべてのボタンに共通に適用されるスタイルについては、「ボタン全体のスタイルを設定」を参照してください。

キーセットの設定
各ボタンで個別に設定する内容は、KeyItem オブジェクトとしてまとめられています。KeyItem オブジェクトで設定可能な項目は次の8つのプロパティです。

  • ボタンの背景色 (BackColor
  • ボタンの位置 (ButtonIndex
  • ボタン操作の可否 (Enabled
  • キャプションの文字色 (ForeColor
  • ボタンに表示する画像のインデックス (ImageIndex
  • ボタンに関連付けられているキー (Key
  • キャプションとして表示する文字列 (Text
  • ツールチップとして表示する文字列 (ToolTipText

1つの KeyItem オブジェクトは1つのキーボード上のキーに割り当てられています。以下の16個のキーに対応した KeyItem オブジェクトが1つのKeySetオブジェクト内に配列の形で格納されています。対応するキーは、KeySet オブジェクトの配列内のインデックスによって決定されます。

Index Key
0 F1
1 F2
2 F3
3 F4
4 F5
5 F6
6 F7
7 F8
8 F9
9 F10
10 F11
11 F12
12 Home
13 End
14 PageUp
15 PageDown

また、KeyItemFromPoint メソッドを使用すると、GcClassicFunctionKey コントロールのボタン上にマウスポインタが置かれたときに対応する KeyItem オブジェクトを取得することができます。

KeySetCollection コレクションは、複数の KeySet オブジェクトを保管します。このコレクションには、GcClassicFunctionKey コントロールの KeySets プロパティを使ってアクセスできます。また、KeySetCollection コレクションに保存された KeySet オブジェクトのキー(識別名)を ActiveKeySet プロパティに設定することで、その KeySet オブジェクトの内容がGcClassicFunctionKey コントロールに反映されます。

次のサンプルコードは、キーセット(KeySet オブジェクト)を作成してボタン毎に色を設定し、そのキーセットをアクティブにする方法です。

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' キーセットを作成します。 
    GcClassicFunctionKey1.KeySets.Add("Normal")
    GcClassicFunctionKey1.KeySets("Normal")(0).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(0).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(1).ButtonIndex = 0
    GcClassicFunctionKey1.KeySets("Normal")(1).Text = "新規"
    GcClassicFunctionKey1.KeySets("Normal")(1).BackColor = Color.Green
    GcClassicFunctionKey1.KeySets("Normal")(1).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(2).ButtonIndex = 1
    GcClassicFunctionKey1.KeySets("Normal")(2).Text = "編集"
    GcClassicFunctionKey1.KeySets("Normal")(2).BackColor = Color.Orange
    GcClassicFunctionKey1.KeySets("Normal")(2).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(3).ButtonIndex = 2
    GcClassicFunctionKey1.KeySets("Normal")(3).Text = "参照"
    GcClassicFunctionKey1.KeySets("Normal")(3).BackColor = Color.Blue
    GcClassicFunctionKey1.KeySets("Normal")(3).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(4).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(4).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(5).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(5).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(6).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(6).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(7).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(7).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(8).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(8).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(9).ButtonIndex = 3
    GcClassicFunctionKey1.KeySets("Normal")(9).Text = "終了"
    GcClassicFunctionKey1.KeySets("Normal")(9).BackColor = Color.LightGray
    GcClassicFunctionKey1.KeySets("Normal")(10).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(10).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(11).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(11).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(12).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(12).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(13).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(13).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(14).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(14).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(15).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(15).Enabled = False

    ' 作成したキーセットをアクティブにします。 
    GcClassicFunctionKey1.ActiveKeySet = "Normal"
    GcClassicFunctionKey1.ColumnGroups = "3|1"

    ' ポップアップ形式の描画スタイルを設定します。
    GcClassicFunctionKey1.StyleSets.Add("FlatStyleSet1", New GrapeCity.Win.Bars.PopupStyleSet())
    GcClassicFunctionKey1.ActiveStyleSet = "FlatStyleSet1"
End Sub
private void Form1_Load(object sender, System.EventArgs e)
{
    // キーセットを作成します。 
    gcClassicFunctionKey1.KeySets.Add("Normal");
    gcClassicFunctionKey1.KeySets["Normal"][0].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][0].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][1].ButtonIndex = 0;
    gcClassicFunctionKey1.KeySets["Normal"][1].Text = "新規";
    gcClassicFunctionKey1.KeySets["Normal"][1].BackColor = Color.Green;
    gcClassicFunctionKey1.KeySets["Normal"][1].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][2].ButtonIndex = 1;
    gcClassicFunctionKey1.KeySets["Normal"][2].Text = "編集";
    gcClassicFunctionKey1.KeySets["Normal"][2].BackColor = Color.Orange;
    gcClassicFunctionKey1.KeySets["Normal"][2].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][3].ButtonIndex = 2;
    gcClassicFunctionKey1.KeySets["Normal"][3].Text = "参照";
    gcClassicFunctionKey1.KeySets["Normal"][3].BackColor = Color.Blue;
    gcClassicFunctionKey1.KeySets["Normal"][3].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][4].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][4].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][5].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][5].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][6].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][6].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][7].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][7].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][8].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][8].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][9].ButtonIndex = 3;
    gcClassicFunctionKey1.KeySets["Normal"][9].Text = "終了";
    gcClassicFunctionKey1.KeySets["Normal"][9].BackColor = Color.LightGray;
    gcClassicFunctionKey1.KeySets["Normal"][10].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][10].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][11].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][11].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][12].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][12].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][13].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][13].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][14].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][14].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][15].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][15].Enabled = false;

    // 作成したキーセットをアクティブにします。 
    gcClassicFunctionKey1.ActiveKeySet = "Normal";
    gcClassicFunctionKey1.ColumnGroups = "3|1";

    // ポップアップ形式の描画スタイルを設定します。
    gcClassicFunctionKey1.StyleSets.Add("FlatStyleSet1", new GrapeCity.Win.Bars.PopupStyleSet());
    gcClassicFunctionKey1.ActiveStyleSet = "FlatStyleSet1";
}

ツールチップの表示
KeyItem オブジェクトの ToolTipText プロパティに文字列を設定し、GcClassicFunctionKey コントロールの ShowTips プロパティをTrueにすると、その KeyItem オブジェクトに対応したボタンにマウスポインタが置かれたときに、ツールチップ (ToolTipText プロパティで設定した文字列) を表示することができます。

' F2キーのKeyItemにツールチップを設定します。 
GcClassicFunctionKey1.KeySets("Normal")(1).ToolTipText = "新規画面を表示します。"
GcClassicFunctionKey1.ShowTips = True
// F2キーのKeyItemにツールチップを設定します。 
gcClassicFunctionKey1.KeySets["Normal"][1].ToolTipText = "新規画面を表示します。";
gcClassicFunctionKey1.ShowTips = true;
画像の表示
GcClassicFunctionKey コントロール上のボタンに画像を表示するには、次の手順を実行します。

  1. ImageListオブジェクトを作成する。
  2. 作成したImageListオブジェクトをImageListプロパティに設定する。
  3. ImageListオブジェクト内の画像のインデックスを KeyItem オブジェクトの ImageIndex プロパティに設定する。

ImageListオブジェクトの作成は、標準のImageListコントロールを使う方法と、独自にオブジェクトを生成する方法があります。ImageListオブジェクトの詳細については、Visual Studioのヘルプの「ImageListクラス」を参照してください。

以下は、ツールチップと画像を設定したファンクションコントロールの例です。

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' ImageListオブジェクトを作成します。
    Dim iList As ImageList = New ImageList()
    iList.ImageSize = New Size(32, 32)
    iList.Images.Add(Image.FromFile("C:\images\New.png"))
    iList.Images.Add(Image.FromFile("C:\images\Edit.png"))
    iList.Images.Add(Image.FromFile("C:\images\Ref.png"))
    iList.Images.Add(Image.FromFile("C:\images\Close.png"))
    ' ImageListプロパティを設定します。 
    GcClassicFunctionKey1.ImageList = iList

    ' キーセットを作成します。 
    GcClassicFunctionKey1.KeySets.Add("Normal")
    GcClassicFunctionKey1.KeySets("Normal")(0).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(0).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(1).ButtonIndex = 0
    GcClassicFunctionKey1.KeySets("Normal")(1).Text = "新規"
    GcClassicFunctionKey1.KeySets("Normal")(1).BackColor = Color.Green
    GcClassicFunctionKey1.KeySets("Normal")(1).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(1).ImageIndex = 0
    GcClassicFunctionKey1.KeySets("Normal")(2).ButtonIndex = 1
    GcClassicFunctionKey1.KeySets("Normal")(2).Text = "編集"
    GcClassicFunctionKey1.KeySets("Normal")(2).BackColor = Color.Orange
    GcClassicFunctionKey1.KeySets("Normal")(2).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(2).ImageIndex = 1
    GcClassicFunctionKey1.KeySets("Normal")(3).ButtonIndex = 2
    GcClassicFunctionKey1.KeySets("Normal")(3).Text = "参照"
    GcClassicFunctionKey1.KeySets("Normal")(3).BackColor = Color.Blue
    GcClassicFunctionKey1.KeySets("Normal")(3).ForeColor = Color.White
    GcClassicFunctionKey1.KeySets("Normal")(3).ImageIndex = 2
    GcClassicFunctionKey1.KeySets("Normal")(4).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(4).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(5).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(5).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(6).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(6).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(7).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(7).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(8).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(8).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(9).ButtonIndex = 3
    GcClassicFunctionKey1.KeySets("Normal")(9).Text = "終了"
    GcClassicFunctionKey1.KeySets("Normal")(9).BackColor = Color.LightGray
    GcClassicFunctionKey1.KeySets("Normal")(9).ImageIndex = 3
    GcClassicFunctionKey1.KeySets("Normal")(10).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(10).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(11).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(11).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(12).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(12).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(13).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(13).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(14).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(14).Enabled = False
    GcClassicFunctionKey1.KeySets("Normal")(15).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Normal")(15).Enabled = False

    ' 作成したキーセットをアクティブにします。 
    GcClassicFunctionKey1.ActiveKeySet = "Normal"
    GcClassicFunctionKey1.ColumnGroups = "3|1"

    ' ポップアップ形式の描画スタイルを設定します。
    Dim FlatStyleSet1 As GrapeCity.Win.Bars.PopupStyleSet = New GrapeCity.Win.Bars.PopupStyleSet()
    FlatStyleSet1.Font = New Font("Meiryo UI", 14)
    GcClassicFunctionKey1.StyleSets.Add("FlatStyleSet1", FlatStyleSet1)
    GcClassicFunctionKey1.ActiveStyleSet = "FlatStyleSet1"

    ' ツールチップを設定します。 
    GcClassicFunctionKey1.KeySets("Normal")(1).ToolTipText = "新規画面を表示します。"
    GcClassicFunctionKey1.KeySets("Normal")(2).ToolTipText = "編集内容を保存します。"
    GcClassicFunctionKey1.KeySets("Normal")(3).ToolTipText = "コードから名称を検索し参照します。"
    GcClassicFunctionKey1.KeySets("Normal")(9).ToolTipText = "画面を終了します。"
    GcClassicFunctionKey1.ShowTips = True
End Sub
private void Form1_Load(object sender, System.EventArgs e)
{
    // ImageListオブジェクトを作成します。
    ImageList iList = new ImageList();
    iList.ImageSize = new Size(32, 32);
    iList.Images.Add(Image.FromFile(@"C:\images\New.png"));
    iList.Images.Add(Image.FromFile(@"C:\images\Edit.png"));
    iList.Images.Add(Image.FromFile(@"C:\images\Ref.png"));
    iList.Images.Add(Image.FromFile(@"C:\images\Close.png"));
    // ImageListプロパティを設定します。 
    gcClassicFunctionKey1.ImageList = iList;

    // キーセットを作成します。 
    gcClassicFunctionKey1.KeySets.Add("Normal");
    gcClassicFunctionKey1.KeySets["Normal"][0].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][0].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][1].ButtonIndex = 0;
    gcClassicFunctionKey1.KeySets["Normal"][1].Text = "新規";
    gcClassicFunctionKey1.KeySets["Normal"][1].BackColor = Color.Green;
    gcClassicFunctionKey1.KeySets["Normal"][1].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][1].ImageIndex = 0;
    gcClassicFunctionKey1.KeySets["Normal"][2].ButtonIndex = 1;
    gcClassicFunctionKey1.KeySets["Normal"][2].Text = "編集";
    gcClassicFunctionKey1.KeySets["Normal"][2].BackColor = Color.Orange;
    gcClassicFunctionKey1.KeySets["Normal"][2].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][2].ImageIndex = 1;
    gcClassicFunctionKey1.KeySets["Normal"][3].ButtonIndex = 2;
    gcClassicFunctionKey1.KeySets["Normal"][3].Text = "参照";
    gcClassicFunctionKey1.KeySets["Normal"][3].BackColor = Color.Blue;
    gcClassicFunctionKey1.KeySets["Normal"][3].ForeColor = Color.White;
    gcClassicFunctionKey1.KeySets["Normal"][3].ImageIndex = 2;
    gcClassicFunctionKey1.KeySets["Normal"][4].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][4].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][5].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][5].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][6].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][6].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][7].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][7].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][8].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][8].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][9].ButtonIndex = 3;
    gcClassicFunctionKey1.KeySets["Normal"][9].Text = "終了";
    gcClassicFunctionKey1.KeySets["Normal"][9].BackColor = Color.LightGray;
    gcClassicFunctionKey1.KeySets["Normal"][9].ImageIndex = 3;
    gcClassicFunctionKey1.KeySets["Normal"][10].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][10].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][11].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][11].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][12].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][12].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][13].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][13].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][14].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][14].Enabled = false;
    gcClassicFunctionKey1.KeySets["Normal"][15].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Normal"][15].Enabled = false;

    // 作成したキーセットをアクティブにします。 
    gcClassicFunctionKey1.ActiveKeySet = "Normal";
    gcClassicFunctionKey1.ColumnGroups = "3|1";

    // ポップアップ形式の描画スタイルを設定します。
    GrapeCity.Win.Bars.PopupStyleSet FlatStyleSet1 = new GrapeCity.Win.Bars.PopupStyleSet();
    FlatStyleSet1.Font = new Font("Meiryo UI", 14);
    gcClassicFunctionKey1.StyleSets.Add("FlatStyleSet1", FlatStyleSet1);
    gcClassicFunctionKey1.ActiveStyleSet = "FlatStyleSet1";

    // ツールチップを設定します。 
    gcClassicFunctionKey1.KeySets["Normal"][1].ToolTipText = "新規画面を表示します。";
    gcClassicFunctionKey1.KeySets["Normal"][2].ToolTipText = "編集内容を保存します。";
    gcClassicFunctionKey1.KeySets["Normal"][3].ToolTipText = "コードから名称を検索し参照します。";
    gcClassicFunctionKey1.KeySets["Normal"][9].ToolTipText = "画面を終了します。";
    gcClassicFunctionKey1.ShowTips = true;
}



   
参照