GrapeCity PlusPak for Windows Forms 10.0J
操作とイベント

GcClassicFunctionKey コントロールの操作とイベントについて、以下に解説します。

操作とイベント
FunctionKeyPressイベントは、GcClassicFunctionKey コントロールの中核をなす機能を提供します。このイベントは、[F1]から[F12]までのファンクションキー、[Home]、[End]、[PageUp]、[PageDown]の各キー、およびこれらのキーと制御キー ([Alt]、[Ctrl]、[Shift])を組み合わせたキーをキーボード上で押下したとき、または対応するボタンをマウスでクリックしたときに発生します。FunctionKeyPressイベントのプロシージャに任意のコードを記述することで、ファンクションキー操作時に目的の動作を実現することができます。

また、ShiftStateDown イベントと ShiftStateUp イベントを利用することで、[Ctrl]キーなどの制御キーを押下したときに、対象となる動作を切り替えることも可能です。次のサンプルコードは、[Ctrl]キーの押下に合わせてアクティブなキーセットを入れ替える方法を示します。

Imports GrapeCity.Win.Bars

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' スタイルセットを作成します。
    Dim aStyle As ThreeDStyleSet = New ThreeDStyleSet()
    aStyle.AlignHorizontal = AlignHorizontal.Center
    aStyle.AlignVertical = AlignVertical.Middle
    GcClassicFunctionKey1.StyleSets.Add("styleA", aStyle)

    ' 標準のキーセットを作成します。
    Dim aIndex As Integer = GcClassicFunctionKey1.KeySets.Add("Normal")
    GcClassicFunctionKey1.KeySets(aIndex)(0).Text = "F1 ヘルプ"
    GcClassicFunctionKey1.KeySets(aIndex)(1).Text = "F2"
    GcClassicFunctionKey1.KeySets(aIndex)(1).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(2).Text = "F3 定型句挿入"
    GcClassicFunctionKey1.KeySets(aIndex)(3).Text = "F4 繰り返し"
    GcClassicFunctionKey1.KeySets(aIndex)(4).Text = "F5 ジャンプ"
    GcClassicFunctionKey1.KeySets(aIndex)(5).Text = "F6 切り替え"
    GcClassicFunctionKey1.KeySets(aIndex)(6).Text = "F7 スペルチェック"
    GcClassicFunctionKey1.KeySets(aIndex)(7).Text = "F8"
    GcClassicFunctionKey1.KeySets(aIndex)(7).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(8).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(8).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(9).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(9).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(10).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(10).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(11).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(11).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(12).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(12).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(13).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(13).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(14).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(14).Enabled = False
    GcClassicFunctionKey1.KeySets(aIndex)(15).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets(aIndex)(15).Enabled = False

    ' Ctrlボタン押下時のキーセットを作成します。
    GcClassicFunctionKey1.KeySets.Add("Controled")
    GcClassicFunctionKey1.KeySets("Controled")(0).Text = "F1"
    GcClassicFunctionKey1.KeySets("Controled")(0).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(1).Text = "F2 印刷プレビュー"
    GcClassicFunctionKey1.KeySets("Controled")(2).Text = "F3 印刷"
    GcClassicFunctionKey1.KeySets("Controled")(3).Text = "F4 移動"
    GcClassicFunctionKey1.KeySets("Controled")(4).Text = "F5 検索"
    GcClassicFunctionKey1.KeySets("Controled")(5).Text = "F6"
    GcClassicFunctionKey1.KeySets("Controled")(5).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(6).Text = "F7"
    GcClassicFunctionKey1.KeySets("Controled")(6).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(7).Text = "F8 サイズ変更"
    GcClassicFunctionKey1.KeySets("Controled")(8).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(8).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(9).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(9).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(10).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(10).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(11).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(11).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(12).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(12).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(13).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(13).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(14).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(14).Enabled = False
    GcClassicFunctionKey1.KeySets("Controled")(15).ButtonIndex = -1
    GcClassicFunctionKey1.KeySets("Controled")(15).Enabled = False

    ' 作成したスタイルセットとキーセットをアクティブにします。
    GcClassicFunctionKey1.ActiveStyleSet = "styleA"
    GcClassicFunctionKey1.ActiveKeySet = "Normal"
    GcClassicFunctionKey1.ColumnGroups = "8"
End Sub

Private Sub GcClassicFunctionKey1_ShiftStateDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles GcClassicFunctionKey1.ShiftStateUp
    If e.Control = True Then
        GcClassicFunctionKey1.ActiveKeySet = "Controled"
    End If
End Sub

Private Sub GcClassicFunctionKey1_ShiftStateUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles GcClassicFunctionKey1.ShiftStateUp
    If e.Control = False Then
        GcClassicFunctionKey1.ActiveKeySet = "Normal"
    End If
End Sub
using GrapeCity.Win.Bars;

private void Form1_Load(object sender, System.EventArgs e)
{
    // スタイルセットを作成します。
    ThreeDStyleSet aStyle = new ThreeDStyleSet();
    aStyle.AlignHorizontal = AlignHorizontal.Center;
    aStyle.AlignVertical = AlignVertical.Middle;
    gcClassicFunctionKey1.StyleSets.Add("styleA",aStyle);

    // 標準のキーセットを作成します。
    int aIndex = gcClassicFunctionKey1.KeySets.Add("Normal");
    gcClassicFunctionKey1.KeySets[aIndex][0].Text = "F1 ヘルプ";
    gcClassicFunctionKey1.KeySets[aIndex][1].Text = "F2";
    gcClassicFunctionKey1.KeySets[aIndex][1].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][2].Text = "F3 定型句挿入";
    gcClassicFunctionKey1.KeySets[aIndex][3].Text = "F4 繰り返し";
    gcClassicFunctionKey1.KeySets[aIndex][4].Text = "F5 ジャンプ";
    gcClassicFunctionKey1.KeySets[aIndex][5].Text = "F6 切り替え";
    gcClassicFunctionKey1.KeySets[aIndex][6].Text = "F7 スペルチェック";
    gcClassicFunctionKey1.KeySets[aIndex][7].Text = "F8";
    gcClassicFunctionKey1.KeySets[aIndex][7].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][8].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][8].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][9].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][9].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][10].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][10].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][11].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][11].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][12].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][12].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][13].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][13].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][14].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][14].Enabled = false;
    gcClassicFunctionKey1.KeySets[aIndex][15].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets[aIndex][15].Enabled = false;

    // Ctrlボタン押下時のキーセットを作成します。
    gcClassicFunctionKey1.KeySets.Add("Controled");
    gcClassicFunctionKey1.KeySets["Controled"][0].Text = "F1";
    gcClassicFunctionKey1.KeySets["Controled"][0].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][1].Text = "F2 印刷プレビュー";
    gcClassicFunctionKey1.KeySets["Controled"][2].Text = "F3 印刷";
    gcClassicFunctionKey1.KeySets["Controled"][3].Text = "F4 移動";
    gcClassicFunctionKey1.KeySets["Controled"][4].Text = "F5 検索";
    gcClassicFunctionKey1.KeySets["Controled"][5].Text = "F6";
    gcClassicFunctionKey1.KeySets["Controled"][5].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][6].Text = "F7";
    gcClassicFunctionKey1.KeySets["Controled"][6].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][7].Text = "F8 サイズ変更";
    gcClassicFunctionKey1.KeySets["Controled"][8].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][8].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][9].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][9].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][10].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][10].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][11].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][11].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][12].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][12].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][13].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][13].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][14].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][14].Enabled = false;
    gcClassicFunctionKey1.KeySets["Controled"][15].ButtonIndex = -1;
    gcClassicFunctionKey1.KeySets["Controled"][15].Enabled = false;

    // 作成したスタイルセットとキーセットをアクティブにします。
    gcClassicFunctionKey1.ActiveStyleSet = "styleA";
    gcClassicFunctionKey1.ActiveKeySet = "Normal";
    gcClassicFunctionKey1.ColumnGroups = "8";
}

private void GcClassicFunctionKey1_ShiftStateDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if (e.Control == true)
    {
        gcClassicFunctionKey1.ActiveKeySet = "Controled";
    }
}

private void gcClassicFunctionKey1_ShiftStateUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
    if (e.Control == false)
    {
        gcClassicFunctionKey1.ActiveKeySet = "Normal";
    }
}
さらに、InteractiveMouse プロパティをFalseに設定すると、マウスによるボタンクリックを禁止し、キーボード操作のみを対象にできます。KeyRepeat プロパティは、キーを押し続けている間、FunctionKeyPress イベントを繰り返し発生させるかどうかを指定します。
   
関連トピック

 

 


© 2008 GrapeCity inc. All rights reserved.