GcFontPickerCellの外観のカスタマイズ方法について、以下に解説します。
エディタ部分を編集できるようにするには、DropDownStyleプロパティをDropDownに設定します。
Imports GrapeCity.Win.MultiRow Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak Dim GcFontPickerCell1 = New PlusPakCell.GcFontPickerCell() GcFontPickerCell1.DropDownStyle = GrapeCity.Win.Pickers.DropDownStyle.DropDown GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcFontPickerCell1}) GcMultiRow1.RowCount = 10
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; PlusPakCell.GcFontPickerCell gcFontPickerCell1 = new PlusPakCell.GcFontPickerCell(); gcFontPickerCell1.DropDownStyle = GrapeCity.Win.Pickers.DropDownStyle.DropDown; gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcFontPickerCell1 }); gcMultiRow1.RowCount = 10;
既定では、GcFontPickerCellのエディタの右側にフォント一覧を表示するサイドボタン(ドロップダウンボタン)があります。
ドロップダウンボタンをカスタマイズするには、DropDownButtonクラスを使用します。設定できる主なプロパティは次のとおりです。これらの詳細については、DropDownButtonクラスを参照してください。
プロパティ | 説明 |
---|---|
BackColor | ボタンの背景色を取得または設定します。 |
ButtonWidth | ボタンの幅を取得または設定します。 |
FlatAppearance | セルのFlatStyleがFlatの時、ボタンの境界線の外観と色を取得します。 |
Position | サイドボタンの位置を取得または設定します。 |
Visible | サイドボタンの表示設定を取得または設定します。 |
サイドボタンでは、Behaviorプロパティを使用して、ボタンにスピン動作を割り当てることができます。
スピン動作を割り当てたサイドボタンによって、GcFontPickerCellのフォント一覧の項目を切り替えることができます。
Behaviorの値 | 説明 | Intervalプロパティの初期値 | Textプロパティの初期値 |
---|---|---|---|
None | スピン動作を割り当てません。 | 0 | なし |
SpinUp | スピンアップ(値を増加)の動作を割り当てます。 | 60 | "+" |
SpinDown | スピンダウン(値を減少)の動作を割り当てます。 | 60 | "-" |
次のコードは、GcFontPickerCellにスピン動作を割り当てたサイドボタンを追加します。
Imports GrapeCity.Win.MultiRow Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak ' サイドボタンを定義 Private DownSideButton As New PlusPakCell.SideButton() Private UpSideButton As New PlusPakCell.SideButton() Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim GcFontPickerCell1 As New PlusPakCell.GcFontPickerCell() ' サイドボタンに下矢印ボタンの動作を設定 DownSideButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinDown ' サイドボタンにテキストを設定 DownSideButton.Text = "↓" ' サイドボタンをセル内の左側に配置 DownSideButton.Position = LeftRightAlignment.Left ' GcFontPickerCell にサイドボタンを設定 GcFontPickerCell1.SideButtons.Add(DownSideButton) ' サイドボタンに上矢印ボタンの動作を設定 UpSideButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinUp ' サイドボタンにテキストを設定 UpSideButton.Text = "↑" ' サイドボタンをセル内の右側に配置 UpSideButton.Position = LeftRightAlignment.Right ' GcFontPickerCell にサイドボタンを設定 GcFontPickerCell1.SideButtons.Add(UpSideButton) GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcFontPickerCell1}) GcMultiRow1.RowCount = 10 End Sub
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; // サイドボタンを定義 private PlusPakCell.SideButton downSideButton = new PlusPakCell.SideButton(); private PlusPakCell.SideButton upSideButton = new PlusPakCell.SideButton(); private void Form1_Load(object sender, EventArgs e) { PlusPakCell.GcFontPickerCell gcFontPickerCell1 = new PlusPakCell.GcFontPickerCell(); // サイドボタンに下矢印ボタンの動作を設定 downSideButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinDown; // サイドボタンにテキストを設定 downSideButton.Text = "↓"; // サイドボタンをセル内の左側に配置 downSideButton.Position = LeftRightAlignment.Left; // GcFontPickerCell にサイドボタンを設定 gcFontPickerCell1.SideButtons.Add(downSideButton); // サイドボタンに上矢印ボタンの動作を設定 upSideButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinUp; // サイドボタンにテキストを設定 upSideButton.Text = "↑"; // サイドボタンをセル内の右側に配置 upSideButton.Position = LeftRightAlignment.Right; // GcFontPickerCell にサイドボタンを設定 gcFontPickerCell1.SideButtons.Add(upSideButton); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcFontPickerCell1 }); gcMultiRow1.RowCount = 10; }
シンボルボタンでは、Behaviorプロパティを使用して、ボタンにスピン動作を割り当てることができます。
スピン動作を割り当てたシンボルボタンによって、GcFontPickerCellのフォント一覧の項目を切り替えることができます。
Behaviorの値 | 説明 | Intervalプロパティの初期値 | Symbolプロパティの初期値 | SymbolDirectionプロパティの初期値 |
---|---|---|---|---|
None | スピン動作を割り当てません。 | 0 | None | Left |
SpinUp | スピンアップ(値を増加)の動作を割り当てます。 | 60 | Arrow | Up |
SpinDown | スピンダウン(値を減少)の動作を割り当てます。 | 60 | Arrow | Down |
次のコードは、GcFontPickerCellにスピン動作を割り当てたシンボルボタンを追加します。
Imports GrapeCity.Win.MultiRow Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak ' サイドボタンを定義 Private DownSymbolButton As New PlusPakCell.SymbolButton() Private UpSymbolButton As New PlusPakCell.SymbolButton() Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim GcFontPickerCell1 As New PlusPakCell.GcFontPickerCell() ' シンボルボタンに下矢印ボタンの動作を設定 DownSymbolButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinDown ' シンボルボタンにイメージを設定 DownSymbolButton.Symbol = GrapeCity.Win.Common.Symbols.DoubleArrow ' シンボルボタンのイメージの方向を設定 DownSymbolButton.SymbolDirection = GrapeCity.Win.Common.SymbolDirection.Down ' シンボルボタンをセル内の左側に配置 DownSymbolButton.Position = LeftRightAlignment.Left ' GcFontPickerCell にシンボルボタンを設定 GcFontPickerCell1.SideButtons.Add(DownSymbolButton) ' シンボルボタンに上矢印ボタンの動作を設定 UpSymbolButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinUp ' シンボルボタンにイメージを設定 UpSymbolButton.Symbol = GrapeCity.Win.Common.Symbols.DoubleArrow ' シンボルボタンのイメージの方向を設定 UpSymbolButton.SymbolDirection = GrapeCity.Win.Common.SymbolDirection.Up ' シンボルボタンをセル内の右側に配置 UpSymbolButton.Position = LeftRightAlignment.Right ' GcFontPickerCell にシンボルボタンを設定 GcFontPickerCell1.SideButtons.Add(UpSymbolButton) GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcFontPickerCell1}) GcMultiRow1.RowCount = 10 End Sub
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; // シンボルボタンを定義 private PlusPakCell.SymbolButton downSymbolButton = new PlusPakCell.SymbolButton(); private PlusPakCell.SymbolButton upSymbolButton = new PlusPakCell.SymbolButton(); private void Form1_Load(object sender, EventArgs e) { PlusPakCell.GcFontPickerCell gcFontPickerCell1 = new PlusPakCell.GcFontPickerCell(); // シンボルボタンに下矢印ボタンの動作を設定 downSymbolButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinDown; // シンボルボタンにイメージを設定 downSymbolButton.Symbol = GrapeCity.Win.Common.Symbols.DoubleArrow; // シンボルボタンのイメージの方向を設定 downSymbolButton.SymbolDirection = GrapeCity.Win.Common.SymbolDirection.Down; // シンボルボタンをセル内の左側に配置 downSymbolButton.Position = LeftRightAlignment.Left; // GcFontPickerCell にシンボルボタンを設定 gcFontPickerCell1.SideButtons.Add(downSymbolButton); // シンボルボタンに上矢印ボタンの動作を設定 upSymbolButton.Behavior = GrapeCity.Win.Common.SideButtonBehavior.SpinUp; // シンボルボタンにイメージを設定 upSymbolButton.Symbol = GrapeCity.Win.Common.Symbols.DoubleArrow; // シンボルボタンのイメージの方向を設定 upSymbolButton.SymbolDirection = GrapeCity.Win.Common.SymbolDirection.Up; // シンボルボタンをセル内の右側に配置 upSymbolButton.Position = LeftRightAlignment.Right; // GcFontPickerCell にシンボルボタンを設定 gcFontPickerCell1.SideButtons.Add(upSymbolButton); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcFontPickerCell1 }); gcMultiRow1.RowCount = 10; }
各サイドボタンは、Parentプロパティによりそのサイドボタンが属する親コントロールとなるセルを取得できます。
以下のサンプルコードでは、サイドボタンから親コントロールのセルを取得します。
Imports GrapeCity.Win.MultiRow Imports PlusPakCell = GrapeCity.Win.MultiRow.PlusPak Dim cell As Cell = DirectCast(GcMultiRow1.Rows(0).Cells(0), PlusPakCell.GcFontPickerCell).SideButtons(0).Parent Console.WriteLine(cell.Name)
using GrapeCity.Win.MultiRow; using PlusPakCell = GrapeCity.Win.MultiRow.PlusPak; Cell cell = (gcMultiRow1.Rows[0].Cells[0] as PlusPakCell.GcFontPickerCell).SideButtons[0].Parent; Console.WriteLine(cell.Name);