概要
GcClassicFunctionKey コントロールは、F1からF12までのファンクションキーと、Home、End、PageUp、PageDownの4つのキーの操作をフックし、それぞれに独自の機能を割り当てることを目的としています。キーボード上でこれら16個のキーのいずれかが押されると、GcClassicFunctionKey コントロールが一番最初にメッセージを受け取り、FunctionKeyPress イベントを発生させます。この処理は、GcClassicFunctionKey コントロールにフォーカスがあるかどうかに関わらず行われます。
GcClassicFunctionKey コントロールが持つ機能は、次の4つのグループに分類できます。
このページでは、1番目に分類されている内容「外観の設定」について説明しています。他の2つについては、それぞれ「「操作とイベント」「ボタン全体のスタイル設定」と「個々のボタン設定」を参照してください。
GcClassicFunctionKey コントロールが持つ機能は、次の4つのグループに分類できます。
- 外観の設定
- 操作とイベント
- ボタン全体のスタイル設定
- 個々のボタン設定
このページでは、1番目に分類されている内容「外観の設定」について説明しています。他の2つについては、それぞれ「「操作とイベント」「ボタン全体のスタイル設定」と「個々のボタン設定」を参照してください。
コントロールの外観と配置
ControlBevel プロパティを使用すると、GcClassicFunctionKey コントロールの外枠の内側に、3D効果を付加するベベルを設定することができます。ベベルの色、幅、明るさ、および暗さは、Bevel 構造体を使って設定します。
Bevel 構造体のコンストラクタの書式を以下に示します。
GcClassicFunctionKey コントロールの上下左右の端からボタン表示領域の端までの距離は、Margins プロパティで設定できます。また、GcClassicFunctionKey コントロールをフォーム(コンテナ)の上下左右のどの辺にドッキングするかは、Dock プロパティで設定します。
Bevel 構造体のコンストラクタの書式を以下に示します。
New GrapeCity.Win.Common.Bevel(color, width, Lightness, Darkness)
new GrapeCity.Win.Common.Bevel(color, width, Lightness, Darkness);
引数 | 説明 |
---|---|
Color | ベベルの色(System.Drawing.Color型) |
Width | ベベルの幅(Int32型:ピクセル単位) |
Lightness | ベベルの明るさ(Int32型:-100〜100) |
Darkness | ベベルの暗さ(Int32型:-100〜100) |
GcClassicFunctionKey コントロールの上下左右の端からボタン表示領域の端までの距離は、Margins プロパティで設定できます。また、GcClassicFunctionKey コントロールをフォーム(コンテナ)の上下左右のどの辺にドッキングするかは、Dock プロパティで設定します。
プロパティ設定時のちらつき防止
通常、プロパティの設定を変更するたびにコントロールが再描画されます。Redrawプロパティを使用することで、この再描画による画面のちらつきを防止できます。
次のサンプルコードは、Redraw プロパティを使用してちらつきを軽減させています。
次のサンプルコードは、Redraw プロパティを使用してちらつきを軽減させています。
Imports GrapeCity.Win.Bars ' ちらつきを軽減させるため再描画を無効にします。 GcClassicFunctionKey1.Redraw = False ' スタイルセットを作成します。 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 ' 作成したスタイルセットとキーセットをアクティブにします。 GcClassicFunctionKey1.ActiveStyleSet = "styleA" GcClassicFunctionKey1.ActiveKeySet = "Normal" GcClassicFunctionKey1.ColumnGroups = "8" ' 自動再描画を有効にします。 GcClassicFunctionKey1.Redraw = True
using GrapeCity.Win.Bars; // ちらつきを軽減させるため再描画を無効にします。 gcClassicFunctionKey1.Redraw = false; // スタイルセットを作成します。 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; // 作成したスタイルセットとキーセットをアクティブにします。 gcClassicFunctionKey1.ActiveStyleSet = "styleA"; gcClassicFunctionKey1.ActiveKeySet = "Normal"; gcClassicFunctionKey1.ColumnGroups = "8"; // 自動再描画を有効にします。 gcClassicFunctionKey1.Redraw = true;