PowerTools PlusPak for Windows Forms 8.0J
コマンドアイコン

コマンドアイコンは、タブのリストを表示するメニューアイコンと独自のアイコンを表示できます。アイコンにはイメージの設定やツールチップの表示などが可能です。

コマンドアイコンは、CommandIconList プロパティに設定するCommandIconList オブジェクトのMenuIcon.Visible プロパティをTrue に設定することで表示することができます。また、コマンドアイコンのサイズは CommandIconList.IconSize プロパティで設定します。なお、メニューアイコンと独自に追加したアイコンとで、それぞれ異なるサイズを設定することはできません。


メニューアイコン
メニューアイコンをクリックすると、GcTabControlコントロールが保持する全てのタブをリスト形式で表示します。リストの項目はタブに表示しているテキストで作成されます。リストからタブを決定すると、そのタブが選択された状態となります。

メニューアイコンは、以下の 4 パターンの動作に対してにイメージを設定できます。

  • CommandIcon.NormalImage プロパティ ― 通常の状態のイメージ
  • CommandIcon.PushedImage プロパティ ― アイコンを押下した際のイメージ
  • CommandIcon.HotTrackImage プロパティ ― ホットトラック時のイメージ
  • CommandIcon.DisabledImage プロパティ ― アイコンが無効時のイメージ


また、ShowToolTips プロパティを True に設定し、CommandIcon.ToolTipText プロパティによるテキストを設定することで、ツールチップを表示させることができます。そのほか、CommandIcon.Enabled プロパティ、CommandIcon.Visible プロパティ によるメニューアイコンの有効/無効、表示/非表示の切り替えも可能です。

' コマンドアイコンを表示します
GcTabControl1.CommandIconList.MenuIcon.Visible = True
' コマンドアイコンのサイズを指定します
GcTabControl1.CommandIconList.IconSize = New Size(18, 18)
' メニューアイコンにイメージを設定します
GcTabControl1.CommandIconList.MenuIcon.NormalImage = _
    New Bitmap("ここにファイルのフルパス名を入力してください")
GcTabControl1.CommandIconList.MenuIcon.PushedImage = _
    New Bitmap("ここにファイルのフルパス名を入力してください")
GcTabControl1.CommandIconList.MenuIcon.HotTrackImage = _
    New Bitmap("ここにファイルのフルパス名を入力してください")
GcTabControl1.CommandIconList.MenuIcon.DisabledImage = _
    New Bitmap("ここにファイルのフルパス名を入力してください")
' ツールチップを表示します
GcTabControl1.ShowToolTips = True
GcTabControl1.CommandIconList.MenuIcon.ToolTipText = "メニューアイコン"
' メニューアイコンの有効/無効を切り替えます
'GcTabControl1.CommandIconList.MenuIcon.Enabled = True
' メニューアイコンの表示/非表示を切り替えます
'GcTabControl1.CommandIconList.MenuIcon.Visible = True
// コマンドアイコンを表示します
gcTabControl1.CommandIconList.MenuIcon.Visible = true; 
// コマンドアイコンのサイズを指定します
gcTabControl1.CommandIconList.IconSize = new Size(18, 18); 
// メニューアイコンにイメージを設定します
gcTabControl1.CommandIconList.MenuIcon.NormalImage = 
    new Bitmap(@"ここにファイルのフルパス名を入力してください"); 
gcTabControl1.CommandIconList.MenuIcon.PushedImage = 
    new Bitmap(@"ここにファイルのフルパス名を入力してください"); 
gcTabControl1.CommandIconList.MenuIcon.HotTrackImage = 
    new Bitmap(@"ここにファイルのフルパス名を入力してください"); 
gcTabControl1.CommandIconList.MenuIcon.DisabledImage = 
    new Bitmap(@"ここにファイルのフルパス名を入力してください"); 
// ツールチップを表示します
gcTabControl1.ShowToolTips = true; 
gcTabControl1.CommandIconList.MenuIcon.ToolTipText = "MenuIcon";
// メニューアイコンの有効/無効を切り替えます
//gcTabControl1.CommandIconList.MenuIcon.Enabled = true;
// メニューアイコンの表示/非表示を切り替えます
//gcTabControl1.CommandIconList.MenuIcon.Visible = true;
独自のアイコン
コマンドアイコンは、メニューアイコンのほかに、独自のアイコンを表示することができます。アイコンをクリックした際の動作を独自に割り当てることで、さまざまな機能を提供できます。このアイコンには、メニューアイコンと同様、4パターンの動作に対するイメージの設定とツールチップの設定、アイコンの有効/無効、表示/非表示の切り替えが可能です。

以下のサンプルコードは、クリックした際に選択タブが削除される動作を持つアイコンの追加例です。

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        ' コマンドアイコンを表示します
        GcTabControl1.CommandIconList.ShowMenuIcon = True
        ' 独自のアイコンを作成します
        Dim objCustomCommandIcon As New CustomCommandIcon
        ' 対象の GcTabControl をセットします
        objCustomCommandIcon.getTab = Me.GcTabControl1
        ' コマンドアイコン リストに追加します
        GcTabControl1.CommandIconList.CommandIcons.Add(objCustomCommandIcon)
    End Sub

End Class

Public Class CustomCommandIcon
    Inherits GrapeCity.Win.Containers.CommandIcon

    Private gTab As GrapeCity.Win.Containers.GcTabControl

    Public Sub New()
        ' コマンドアイコンにイメージを設定します
        MyBase.NormalImage = New Bitmap("ここにファイルのフルパス名を入力してください")
        MyBase.PushedImage = New Bitmap("ここにファイルのフルパス名を入力してください")
        MyBase.HotTrackImage = New Bitmap("ここにファイルのフルパス名を入力してください")
        MyBase.DisabledImage = New Bitmap("ここにファイルのフルパス名を入力してください")
    End Sub

    ' 対象の GcTabControl を取得するプロパティ
    Public WriteOnly Property getTab() As GrapeCity.Win.Containers.GcTabControl
        Set(ByVal value As GrapeCity.Win.Containers.GcTabControl)
            gTab = value
        End Set
    End Property

    Public Overrides Sub PerformClick()
        ' 選択されているタブを破棄します
        gTab.SelectedTab.Dispose()
    End Sub

End Class
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        // コマンドアイコンを表示します
        gcTabControl1.CommandIconList.ShowMenuIcon = true;
        // 独自のアイコンを作成します
        CustomCommandIcon objCustomCommandIcon = new CustomCommandIcon();
        // 対象の GcTabControl をセットします
        objCustomCommandIcon.getTab = this.gcTabControl1;
        // コマンドアイコン リストに追加します
        gcTabControl1.CommandIconList.CommandIcons.Add(objCustomCommandIcon); 
    }
}

public class CustomCommandIcon : GrapeCity.Win.Containers.CommandIcon
{
    private GrapeCity.Win.Containers.GcTabControl gTab;

    public CustomCommandIcon()
    {
        // コマンドアイコンにイメージを設定します
        base.NormalImage = new Bitmap(@"ここにファイルのフルパス名を入力してください");
        base.PushedImage = new Bitmap(@"ここにファイルのフルパス名を入力してください");
        base.HotTrackImage = new Bitmap(@"ここにファイルのフルパス名を入力してください");
        base.DisabledImage = new Bitmap(@"ここにファイルのフルパス名を入力してください");
    }

    // 対象の GcTabControl を取得するプロパティ
    public GrapeCity.Win.Containers.GcTabControl getTab
    {
        set
        {
            gTab = value;
        }
    }

    public override void PerformClick()
    {
        // 選択されているタブを破棄します
        gTab.SelectedTab.Dispose();
    }
}
参照