AlternateTextプロパティを使用すれば、セルが未入力(GcDateTimeCell.Value)のときや和暦表示できない日付が設定された場合に代わりに表示するテキストを文字列として設定することができます。

(図) 代替テキストを表示したGcDateTimeCell
AlternateTextプロパティは、DateAlternateTextオブジェクトを参照し、DateAlternateText クラスのプロパティを使用して以下の代替テキストを設定できます。
 |
- 和暦表示が可能な日付の範囲は、1868年9月8日~2087年12月31日です。
- DisplayEmptyEraおよびEmptyEraプロパティは、書式の設定で和暦を指定している場合に有効です。
|
これらのプロパティはAlternateTextクラスを参照し、次の2つを設定することができます。
次のサンプルコードは、代替テキストを設定する例です。
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Dim GcDateTimeCell1 = New InputManCell.GcDateTimeCell()
GcDateTimeCell1.Name = "GcDateTimeCell1"
GcDateTimeCell1.Size = New Size(180, 20)
' フォーカスがないときの代替テキスト
GcDateTimeCell1.AlternateText.DisplayNull.Text = "生年月日を入力してください"
GcDateTimeCell1.AlternateText.DisplayNull.ForeColor = System.Drawing.Color.LightSeaGreen
GcDateTimeCell1.AlternateText.DisplayEmptyEra.Text = "和暦表示ができません"
GcDateTimeCell1.AlternateText.DisplayEmptyEra.ForeColor = System.Drawing.Color.Gray
' フォーカスがあるときの代替テキスト
GcDateTimeCell1.AlternateText.Null.Text = "和暦で入力してください"
GcDateTimeCell1.AlternateText.Null.ForeColor = System.Drawing.Color.LightPink
GcDateTimeCell1.AlternateText.EmptyEra.Text = "和暦表示ができません"
GcDateTimeCell1.AlternateText.EmptyEra.ForeColor = System.Drawing.Color.Red
' MultiRowのテンプレートを設定します。
GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcDateTimeCell1})
GcMultiRow1.RowCount = 5
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
InputManCell.GcDateTimeCell gcDateTimeCell1 = new InputManCell.GcDateTimeCell();
gcDateTimeCell1.Name = "gcDateTimeCell1";
gcDateTimeCell1.Size = new Size(180, 20);
// フォーカスがないときの代替テキスト
gcDateTimeCell1.AlternateText.DisplayNull.Text = "生年月日を入力してください";
gcDateTimeCell1.AlternateText.DisplayNull.ForeColor = System.Drawing.Color.LightSeaGreen;
gcDateTimeCell1.AlternateText.DisplayEmptyEra.Text = "和暦表示ができません";
gcDateTimeCell1.AlternateText.DisplayEmptyEra.ForeColor = System.Drawing.Color.Gray;
// フォーカスがあるときの代替テキスト
gcDateTimeCell1.AlternateText.Null.Text = "和暦で入力してください";
gcDateTimeCell1.AlternateText.Null.ForeColor = System.Drawing.Color.LightPink;
gcDateTimeCell1.AlternateText.EmptyEra.Text = "和暦表示ができません";
gcDateTimeCell1.AlternateText.EmptyEra.ForeColor = System.Drawing.Color.Red;
gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcDateTimeCell1 });
gcMultiRow1.RowCount = 5;
ShowRecommendedValueプロパティを使用すると、GcDateTimeCellで値が未入力のとき、入力候補となる値をグレー表示することができます。
入力候補として表示された日付の値は、表示された候補値のまま適用するか、フィールドの一部もしくは全ての値を変更して入力値として適用することができます。入力候補として表示される値は、非表示フィールドのデフォルト値としても使用される、RecommendedValueプロパティで設定します。
候補として表示された値を確定するには、[Ctrl]+[Enter]キーを押下します。

(図) 入力候補値を変更せずに値を確定

(図) 入力候補値から日付だけ変更して値を確定
HighlightTextプロパティを使用すると、フォーカスを受け取ったときのテキストの選択状態を設定することができます。HighlightText.Allの場合は、セルのすべてのテキストが選択状態になります。HighlightText.Fieldの場合は、セル内のフィールドの1つを選択状態にすることができます。
HighlightTextの値 |
カレットまたはフィールドの状態 |
None |
カレットは、DefaultActiveFieldプロパティで指定したフィールドの最初に位置します。 |
Field |
DefaultActiveFieldプロパティで指定したフィールドが選択状態になります。 |
All |
DefaultActiveFieldプロパティの設定に関わらず、セル内のすべての内容が選択状態になります。 |