MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > セル型 > InputManセル > GcMask型セル > 書式の設定(GcMask型セル) > フィールドオブジェクトによる書式設定(GcMask型セル) |
ここでは、フィールドオブジェクトによる書式設定について説明します。
GcMask型セルでは、次の3種類のフィールドオブジェクトが用意されており、これらのオブジェクトを使って書式を設定することができます。
フィールド(クラス) | 説明 |
---|---|
MaskPatternFieldInfo | パターンフィールド |
MaskLiteralFieldInfo | リテラルフィールド |
MaskEnumerationFieldInfo | 列挙型フィールド |
フィールドオブジェクトをMaskFieldCollectionInfoに追加することでマスク書式を作成します。
マスク書式は前項で解説した3つのフィールドオブジェクトを組み合わせて作成します。たとえば、郵便番号書式を作成するには、以下のフィールドオブジェクトをコレクションに追加します。
オブジェクトをコレクションに追加するには、MaskFieldCollectionInfoクラスのAddメソッドまたは、AddRangeメソッドを使用します。
次のサンプルコードは、GcMask型セルに郵便番号書式を設定する例です。
C# |
コードのコピー
|
---|---|
GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType gcMask = new GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType(); // フィールドオブジェクトを作成します。 GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo maskPatternField1 = new GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo("\\D", 3, 3); GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskLiteralFieldInfo maskLiteralField1 = new GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskLiteralFieldInfo("-"); GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo maskPatternField2 = new GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo("\\D", 4, 4); maskLiteralField1.Text = "-"; // フィールドをコレクションに追加してセルに書式を設定します。 gcMask.Fields.AddRange(new GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskFieldInfo[] { maskPatternField1, maskLiteralField1, maskPatternField2 }); // セルにGcMask型セルを設定 fpSpread1.ActiveSheet.Cells[0, 0].CellType = gcMask; |
Visual Basic |
コードのコピー
|
---|---|
Dim gcMask As New GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType() ' フィールドオブジェクトを作成します。 Dim maskPatternField1 As New GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo("\D", 3, 3) Dim maskLiteralField1 As New GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskLiteralFieldInfo("-") Dim maskPatternField2 As New GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskPatternFieldInfo("\D", 4, 4) maskLiteralField1.Text = "-" ' フィールドをコレクションに追加してセルに書式を設定します。 gcMask.Fields.AddRange(New GrapeCity.Win.Spread.InputMan.CellType.Fields.MaskFieldInfo() {maskPatternField1, maskLiteralField1, maskPatternField2}) ' セルにGcMask型セルを設定 FpSpread1.ActiveSheet.Cells(0, 0).CellType = gcMask |
フィールドオブジェクトをMaskFieldCollectionInfoから削除するには、Removeメソッドまたは、RemoveAtメソッドを使用します。
次のサンプルコードは、MaskFieldCollectionInfoの先頭のフィールドを削除する例です。
C# |
コードのコピー
|
---|---|
// コレクションの先頭のオブジェクトを削除 GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType cell = (fpSpread1.ActiveSheet.GetCellType(0, 0) as GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType); cell.Fields.RemoveAt(0); |
Visual Basic |
コードのコピー
|
---|---|
' コレクションの先頭のオブジェクトを削除 Dim cell As GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType = TryCast(FpSpread1.ActiveSheet.GetCellType(0, 0), GrapeCity.Win.Spread.InputMan.CellType.GcMaskCellType) cell.Fields.RemoveAt(0) |
ここでは、GcMask型セルに設定可能な3種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、GcMask型セルのすべてのフィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor プロパティ | フィールド背景色を設定します。 |
Font プロパティ | フィールドに表示される文字列のフォントを設定します。 |
ForeColor プロパティ | フィールド背景色を設定します。 |
Margin プロパティ | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding プロパティ | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
パターンフィールド(MaskPatternFieldInfoクラス)は、GcMask型セルの最も特徴的な機能である入力マスクを設定するフィールドです。
パターンフィールドで最も重要なプロパティはPatternプロパティで、入力マスクを定義するためのキーワードを設定することができます。
プロパティ | 説明 |
---|---|
AutoConvert プロパティ | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
MaxLength プロパティ | Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します。 |
MinLength プロパティ | Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します。 |
PasswordChar プロパティ | フィールドをパスワード文字として表示するときの文字を設定します。 |
Pattern プロパティ | 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。 |
PromptChar プロパティ | プロンプト文字を設定します。 |
UseSystemPasswordChar プロパティ | パスワード文字をシステムで定義された文字で表示するかどうか設定します。 |
◆ Pattern プロパティで使用可能な表現のタイプ
表現のタイプ | 説明 |
---|---|
8進数(ASCII) | ASCII文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。 |
16進数(ASCII) | ASCII文字を表現するときだけ使用します。「\x20」のように、\xに続いて必ず2桁の数値(頭に0を付ける)で表現します。 |
16進数(Unicode) | すべての文字を表現できます。「\u0020」のように、\uに続いて必ず4桁の数値(頭に0を付ける)で表現します。 |
キーワード | 下表で説明するキーワード(メタ文字)です。 |
文字 | キーワード以外の文字です。 |
◆ Pattern プロパティで使用可能なキーワード
1. 主要なキーワード
半角 | 全角 | 説明 |
---|---|---|
\A | \A | 大文字のアルファベットを表します。[A-Z]または[A-Z]と同等です。 |
\a | \a | 小文字のアルファベットを表します。[a-z]または[a-z]と同等です。 |
\D | \D | 数字を表します。[0-9]または[0-9]と同等です。 |
\B | \B | 2進数を表します。[0-1]または[0-1]と同等です。 |
\X | \X | 16進数を表します。[0-9A-Fa-f]または[0-9A-Fa-f]と同等です。 |
\W | \W | すべての英数字を表します。[a-zA-Z_0-9]または[a-zA-Z_0-9]と同等です。 |
\K | \K | カタカナ(促音・拗音の小書き表記あり)を表します。 |
\N | \N | カタカナ(促音・拗音の小書き表記なし)を表します。 |
\H | - | すべての半角文字を表します。 |
- | \J | ひらがな(促音・拗音の小書き表記あり)を表します。 |
- | \G | ひらがな(促音・拗音の小書き表記なし)を表します。 |
- | \Z | すべての全角文字を表します。 |
- | \T | サロゲート ペア文字を表します。 |
- | \I | JIS X 0208文字を表します。 |
- | \M | Shift JIS文字を表します。 |
- | \V | IVS(Ideographic Variation Sequence)文字を表します。 |
半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。 |
2. 補助的なキーワード
メタ文字 | 説明 |
---|---|
^ | その後に続く文字グループの補集合をあらわします。 |
- | 文字の範囲を指定します。 |
\(Chr(92)) | キーワードをリテラル文字として表示します。 |
以下にパターンフィールドでの書式設定の例をあげます。
Patternプロパティ | MinLengthプロパティ | MaxLengthプロパティ | 表示例 | 説明 |
---|---|---|---|---|
\Z | 0 | 50 | あア漢1Aa | 0文字以上、50文字以下のすべての全角を表します。 |
\D | 3 | 5 | 1234 | 3文字以上、5文字以下のすべての半角数字を表します。 |
1-3,a-c,A-C | 10 | 10 | 1234 | 10文字の1,2,3,a,b,c,A,B,Cを表します。 |
A-Z | 0 | 65535 | ABCDE | 半角大文字アルファベットを表します。\Aと同等です。 |
H^a-z | 0 | 65535 | 12ABアイウ | 小文字のアルファベットを除くすべての半角文字を表します。 |
^\T | 0 | 65535 | あア漢1Aa | サロゲート ぺア文字を除くすべての文字を表します。 |
リテラル文字フィールド(MaskLiteralFieldInfoクラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text プロパティ | 表示するリテラル文字を設定します。 |
列挙型フィールド(MaskEnumerationFieldInfoクラス)は、設定された列挙体の項目から選択して文字列をコントロールに表示することができます。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、コントロールのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのコントロールに複数の列挙体フィールドを設定すれば、複数のドロップダウンリストを持ったコントロールを作成することもできます。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
AutoDropDown | フィールドにキャレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します。 |
DropDownEnabled | フィールドのドロップダウン機能を有効にするかどうか設定します。 |
Items | 文字列の列挙体を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncremnet | スピンによって列挙体を増減させる項目の数を設定します。 |