MESCIUS MultiRow for Windows Forms 12.0J > InputManCellの使い方 > GcTimeSpanCell > 書式の設定 > フィールドオブジェクトによる書式設定 |
ここでは、フィールドオブジェクトによる書式設定について説明します
入力時の書式を設定する入力フィールドには、次の7種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
表示フィールドでは、次の7種類のフィールドが提供されています。
これらのフィールドオブジェクトをTimeSpanFieldCollectionまたは、TimeSpanDisplayFieldCollectionコレクションに追加することでタイムスパンの書式を作成します。
タイムスパンの書式は、入力および表示用の各フィールドコレクションに、前項で解説したフィールドオブジェクトを組み合わせて作成します。
入力書式を設定するには、Addメソッドまたは、AddRangeメソッドを使用してTimeSpanFieldCollectionコレクションに入力用フィールドオブジェクトを追加します。表示書式は、AddメソッドまたはAddRangeメソッドを使用して、表示用フィールドオブジェクトをTimeSpanDisplayFieldCollection コレクションに追加します。
次のサンプルコードは、GcTimeSpanCell入力および表示書式を設定する例です。
Imports GrapeCity.Win.MultiRow Imports InputManCell = GrapeCity.Win.MultiRow.InputMan Dim GcTimeSpanCell1 = New InputManCell.GcTimeSpanCell() ' フィールドをクリアします。 GcTimeSpanCell1.Fields.Clear() GcTimeSpanCell1.DisplayFields.Clear() ' 入力フィールドのオブジェクトを作成します。 Dim TimeSpanHourField1 As New InputManCell.TimeSpanHourField(2) Dim TimeSpanLiteralField1 As New InputManCell.TimeSpanLiteralField(":") Dim TimeSpanMinuteField1 As New InputManCell.TimeSpanMinuteField(2) ' フィールドをコレクションに追加してセルに入力書式を設定します。 GcTimeSpanCell1.Fields.AddRange(New InputManCell.TimeSpanField() { _ TimeSpanHourField1, TimeSpanLiteralField1, TimeSpanMinuteField1}) ' 表示フィールドのオブジェクトを作成します。 Dim TimeSpanHourDisplayField1 As New InputManCell.TimeSpanHourDisplayField() Dim TimeSpanLiteralDisplayField1 As New InputManCell.TimeSpanLiteralDisplayField("時間") Dim TimeSpanMinuteDisplayField1 As New InputManCell.TimeSpanMinuteDisplayField() Dim TimeSpanLiteralDisplayField2 As New InputManCell.TimeSpanLiteralDisplayField("分") ' フィールドをコレクションに追加してセルに表示書式を設定します。 GcTimeSpanCell1.DisplayFields.AddRange(New InputManCell.TimeSpanDisplayField() { _ TimeSpanHourDisplayField1, TimeSpanLiteralDisplayField1, _ TimeSpanMinuteDisplayField1, TimeSpanLiteralDisplayField2}) GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcTimeSpanCell1}) GcMultiRow1.RowCount = 5
using GrapeCity.Win.MultiRow; using InputManCell = GrapeCity.Win.MultiRow.InputMan; InputManCell.GcTimeSpanCell gcTimeSpanCell1 = new InputManCell.GcTimeSpanCell(); // フィールドをクリアします。 gcTimeSpanCell1.Fields.Clear(); gcTimeSpanCell1.DisplayFields.Clear(); // 入力フィールドのオブジェクトを作成します。 InputManCell.TimeSpanHourField timeSpanHourField1 = new InputManCell.TimeSpanHourField(2); InputManCell.TimeSpanLiteralField timeSpanLiteralField1 = new InputManCell.TimeSpanLiteralField(":"); InputManCell.TimeSpanMinuteField timeSpanMinuteField1 = new InputManCell.TimeSpanMinuteField(2); // フィールドをコレクションに追加してセルに入力書式を設定します。 gcTimeSpanCell1.Fields.AddRange(new InputManCell.TimeSpanField[] { timeSpanHourField1, timeSpanLiteralField1, timeSpanMinuteField1}); // 表示フィールドのオブジェクトを作成します。 InputManCell.TimeSpanHourDisplayField timeSpanHourDisplayField1 = new InputManCell.TimeSpanHourDisplayField(); InputManCell.TimeSpanLiteralDisplayField timeSpanLiteralDisplayField1 = new InputManCell.TimeSpanLiteralDisplayField("時間"); InputManCell.TimeSpanMinuteDisplayField timeSpanMinuteDisplayField1 = new InputManCell.TimeSpanMinuteDisplayField(); InputManCell.TimeSpanLiteralDisplayField timeSpanLiteralDisplayField2 = new InputManCell.TimeSpanLiteralDisplayField("分"); // フィールドをコレクションに追加してセルに表示書式を設定します。 gcTimeSpanCell1.DisplayFields.AddRange(new InputManCell.TimeSpanDisplayField[] { timeSpanHourDisplayField1, timeSpanLiteralDisplayField1, timeSpanMinuteDisplayField1, timeSpanLiteralDisplayField2}); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcTimeSpanCell1 }); gcMultiRow1.RowCount = 5;
(図) 上記サンプルコードを適用したセル
フィールドオブジェクトをTimeSpanFieldCollectionまたはTimeSpanDisplayFieldCollectionコレクションから削除するには、Removeメソッドまたは、RemoveAtメソッドを使用します。
次のサンプルコードは、TimeSpanFieldCollection コレクションの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。 Dim GcTimeSpanCell As GrapeCity.Win.MultiRow.InputMan.GcTimeSpanCell = DirectCast(GcMultiRow1(0, 0), GrapeCity.Win.MultiRow.InputMan.GcTimeSpanCell) GcTimeSpanCell.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GrapeCity.Win.MultiRow.InputMan.GcTimeSpanCell gcTimeSpanCell = (GrapeCity.Win.MultiRow.InputMan.GcTimeSpanCell)gcMultiRow1[0, 0];
gcTimeSpanCell.Fields.RemoveAt(0);
デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」「表示フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、タイムスパンコントロールで設定可能なフィールドを組み合わせて設定します。
入力書式
表示書式
このエディタでは、コレクションにフィールドを追加や編集すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。
(図)フィールド毎に異なったスタイルを設定
ここでは、GcTimeSpanCellの入力フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcTimeSpanCellのすべての入力フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド背景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字フィールド(TimeSpanLiteralFieldクラス)は、セルに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
符号入力フィールド(TimeSpanSignFieldクラス)は、符号を入力するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 負数値の符号を設定します。 |
PositivePattern | 正数値の符号を設定します。 |
日入力フィールド(TimeSpanDayFieldクラス)は、日数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
時間入力フィールド(TimeSpanHourFieldクラス)は、時間を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
分入力フィールド(TimeSpanMinuteFieldクラス)は、分数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
秒入力フィールド(TimeSpanSecondFieldクラス)は、秒数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
小数入力フィールド(TimeSpanDecimalField クラス)は、小数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
ここでは、GcTimeSpanCellの表示フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcTimeSpanCellのすべての表示フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド背景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字表示フィールド(TimeSpanLiteralDisplayFieldクラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
符号表示フィールド(TimeSpanSignDisplayFieldクラス)は、符号を表示するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 負数値の符号を設定します。 |
PositivePattern | 正数値の符号を設定します。 |
日表示フィールド(TimeSpanDayDisplayFieldクラス)は、日数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
時間表示フィールド(TimeSpanHourDisplayFieldクラス)は、時間を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
分表示フィールド(TimeSpanMinuteDisplayFieldクラス)は、分数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
秒表示フィールド(TimeSpanSecondDisplayFieldクラス)は、秒数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
小数表示フィールド(TimeSpanDecimalDisplaylFieldクラス)は、小数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |