PowerTools PlusPak for Windows Forms 8.0J
カスタムアクションの設定

概要
GcTouchToolBarコントロールではコピーや貼り付けなど、デフォルトツールボタンの動作として用意されたアクションをツールボタンに設定できるほか、独自のアクションを設定することができます。独自のアクションを作成してタッチツールバー上のツールボタンに割り当てることで、ツールボタンの押下に応じて独自の動作を実行させることが可能です。



アクションの作成と割り当て
独自のアクションを作成しタッチツールバー上で利用するには、下記の手順でアクションを作成し、ツールボタンに割り当てる必要があります。
  1. カスタムアクションの作成
  2. ツールボタンへのカスタムアクション設定
上記の手順について詳細を解説します。

1.カスタムアクションの作成

GcTouchToolBarにはカスタムアクション用のインターフェイス(ITouchBarAction)が実装されており、これを使用して独自のアクションを作成します。

ITouchBarActionインターフェイス

メソッド名 機能
CanExecute アクション実行の可・不可を返します
Execute アクション動作を実装します
以下のサンプルコードはタッチツールバーに追加した独自のアイテムをタップしたときにメッセージボックスを表示するカスタムアクションクラスの実装例です。
'カスタムアクションクラス
Public Class CustomToolBarAction
    'ITouchBarActionインターフェイスを使用します
    Implements GrapeCity.Win.Components.ITouchBarAction
    
    'アクション実行の可・不可を返します
    Private Function CanExecute(target As Control) As Boolean Implements GrapeCity.Win.Components.ITouchBarAction.CanExecute
        Return True
    End Function
    
    'アクションの設定
    Private Sub Execute(target As Control) Implements GrapeCity.Win.Components.ITouchBarAction.Execute
        MessageBox.Show("CustomAction")
    End Sub
End Class
//カスタムアクションクラス
//ITouchBarActionインターフェイスを使用します
public class CustomToolBarAction : GrapeCity.Win.Components.ITouchBarAction
{
    //アクション実行の可・不可を返します
    bool GrapeCity.Win.Components.ITouchBarAction.CanExecute(Control target)
    {
       return true;
    }
    
    //アクションの設定
    void GrapeCity.Win.Components.ITouchBarAction.Execute(Control target)
    {
        MessageBox.Show("CustomAction");
    }
}

2.ツールボタンへのカスタムアクション設定

作成したアクションはTouchToolBarItem コレクションエディターやコードから、タッチツールバー上のツールボタンに設定できます。

TouchToolBarItem コレクションエディターからの設定
下記の手順にしたがって操作を行うことで、TouchToolBarItem コレクションエディターからの設定が可能です。
  1. gcTouchToolBarのスマートタグから「ツールボタンの編集...」を選択し、TouchToolBarItem コレクションエディターを起動します。
  2. エディタ画面のメンバー欄からカスタムアクションを割り当てたいアイテムを選択します。
  3. プロパティウィンドウのActionプロパティでは作成したアクションが選択可能になっているので、これを選択しOKボタンを押して設定を完了します。



コードからの設定
コードから動的にカスタムアクションを設定する場合には、タッチツールバーのアイテムが保有するActionプロパティにアクセスして、直接アクションを設定します。以下のサンプルはタッチツールバー上にある先頭のアイテムを取得してカスタムアクション”CustomToolBarAction”を設定する例です。
'タッチツールバーにある先頭のボタンを取得します
Dim TouchToolBarButton1 As GrapeCity.Win.Components.TouchToolBarButton = GcTouchToolBar1.Items(0)
'作成したカスタムアクションを設定します
TouchToolBarButton1.Action = New CustomToolBarAction()
            
//タッチツールバーにある先頭のボタンを取得します
GrapeCity.Win.Components.TouchToolBarButton TouchToolBarButton1 = (GrapeCity.Win.Components.TouchToolBarButton)gcTouchToolBar1.Items[0];
//作成したカスタムアクションを設定します
TouchToolBarButton1.Action = new CustomToolBarAction();
            

参照