PowerTools PlusPak for Windows Forms 8.0J
外観の設定

GcClassicFunctionKey コントロールの外観の設定方法について、以下に解説します。

概要
GcClassicFunctionKey コントロールは、F1からF12までのファンクションキーと、Home、End、PageUp、PageDownの4つのキーの操作をフックし、それぞれに独自の機能を割り当てることを目的としています。キーボード上でこれら16個のキーのいずれかが押されると、GcClassicFunctionKey コントロールが一番最初にメッセージを受け取り、FunctionKeyPress イベントを発生させます。この処理は、GcClassicFunctionKey コントロールにフォーカスがあるかどうかに関わらず行われます。

GcClassicFunctionKey コントロールが持つ機能は、次の4つのグループに分類できます。

  • 外観の設定
  • 操作とイベント
  • ボタン全体のスタイル設定
  • 個々のボタン設定

このページでは、1番目に分類されている内容「外観の設定」について説明しています。他の2つについては、それぞれ「「操作とイベント」「ボタン全体のスタイル設定」と「個々のボタン設定」を参照してください。
コントロールの外観と配置
ControlBevel プロパティを使用すると、GcClassicFunctionKey コントロールの外枠の内側に、3D効果を付加するベベルを設定することができます。ベベルの色、幅、明るさ、および暗さは、Bevel 構造体を使って設定します。



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 プロパティを使用してちらつきを軽減させています。

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;
参照