PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > マスクコントロール > 書式の設定 > フィールドオブジェクトによる書式設定 |
ここでは、フィールドオブジェクトを使用した書式設定について説明します。
マスクコントロールでは、次の3種類のフィールドオブジェクトが用意されており、これらのオブジェクトを使って書式を設定することができます。
これらのフィールドオブジェクトをMaskFieldCollection クラスに追加することで、マスク書式を作成します。
マスク書式は前項で解説した3つのフィールドオブジェクトを組み合わせて作成します。たとえば、郵便番号書式を作成するには、以下のフィールドオブジェクトをコレクションに追加します。
オブジェクトをコレクションに追加するには、Add メソッドまたは、AddRange メソッドを使用します。
次のサンプルコードは、上記のフィールドオブジェクトをAddRange メソッドを使用してMaskFieldCollection クラスにフィールドを追加して郵便番号書式を作成しています。
Imports GrapeCity.Win.Editors.Fields ' フィールドオブジェクトを作成します。 Dim maskPatternField1 As MaskPatternField = New MaskPatternField("\D", 3, 3) Dim maskLiteralField1 As MaskLiteralField = New MaskLiteralField("-") Dim maskPatternField2 As MaskPatternField = New MaskPatternField("\D", 4, 4) ' フィールドをコレクションに追加してコントロールに書式を設定します。 GcMask1.Fields.AddRange(New MaskField() {maskPatternField1, maskLiteralField1, maskPatternField2})
using GrapeCity.Win.Editors.Fields; // フィールドオブジェクトを作成します。 MaskPatternField maskPatternField1 = new MaskPatternField("\\D", 3, 3); MaskLiteralField maskLiteralField1 = new MaskLiteralField("-"); MaskPatternField maskPatternField2 = new MaskPatternField("\\D", 4, 4); // フィールドをコレクションに追加してコントロールに書式を設定します。 gcMask1.Fields.AddRange(new MaskField[] {maskPatternField1, maskLiteralField1, maskPatternField2});
フィールドオブジェクトをMaskFieldCollection クラスから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。
次のサンプルコードは、MaskFieldCollection クラスの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。
GcMask1.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
gcMask1.Fields.RemoveAt(0);
デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、マスクコントロールで設定可能な3種類のフィールドを組み合わせて設定します。
「入力フィールドの編集」エディタ |
このエディタでは、コレクションにフィールドを追加すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。
(図)フィールド毎に異なったスタイルを設定
ここでは、マスクコントロールに設定可能な3種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目に分けて解説します。
これらのプロパティは、マスクコントロールで利用可能なすべてのフィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド前景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
パターンフィールド(MaskPatternField クラス)は、マスクコントロールの最も特徴的な機能である入力マスクを設定するフィールドです。
パターンフィールドで最も重要なプロパティはPattern プロパティで、入力マスクを定義するためのキーワードを設定することができます。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
MaxLength | Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します。 |
MinLength | Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します。 |
PasswordChar | フィールドをパスワード文字として表示するときの文字を設定します。 |
Pattern | 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。 |
PromptChar | プロンプト文字を設定します。 |
UseSystemPasswordChar | パスワード文字をシステムで定義された文字で表示するかどうか設定します。 |
表現のタイプ | 説明 |
---|---|
8進数(ASCII) | ASCII文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。 |
16進数(ASCII) | ASCII文字を表現するときだけ使用します。「\x20」のように、\xに続いて必ず2桁の数値(頭に0を付ける)で表現します。 |
16進数(Unicode) | すべての文字を表現できます。「\u0020」のように、\uに続いて必ず4桁の数値(頭に0を付ける)で表現します。 |
キーワード | 下表で説明するキーワード(メタ文字)です。 |
文字 | キーワード以外の文字です。 |
半角 | 全角 | 説明 |
---|---|---|
\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コードを使って識別されます。 |
メタ文字 | 説明 |
---|---|
^ | その後に続く文字グループの補集合をあらわします。 |
- | 文字の範囲を指定します。 |
\(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 | サロゲート ぺア文字を除くすべての文字を表します。 |
リテラル文字フィールド(MaskLiteralField クラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | 表示するリテラル文字を設定します。 |
列挙型フィールド(MaskEnumerationField クラス)は、設定された列挙体の項目から選択して文字列をコントロールに表示することができます。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、コントロールのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのコントロールに複数の列挙体フィールドを設定すれば、複数のドロップダウンリストを持ったコントロールを作成することもできます。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
AutoDropDown | フィールドにキャレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します。 |
DropDownEnabled | フィールドのドロップダウン機能を有効にするかどうか設定します。 |
Items | 文字列の列挙体を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncremnet | スピンによって列挙体を増減させる項目の数を設定します。 |