次の方法で共有


MaskedEdit コントロール

MaskedEdit コントロールは、コントロールのテキスト フィールドにマスクを含む編集フィールド コントロールです。 コントロールを文字列値プロパティに関連付けるには、コントロール テーブルの Property 列にプロパティ名を入力します。

MaskedEdit コントロールを使用すると、電話番号や製品 ID コードなどの情報をユーザーが入力するためのテンプレートを作成できます。 たとえば、PIDKEY プロパティは、PIDTemplate プロパティを次のような文字列に設定することによって指定された MaskedEdit コントロールを使用して、ユーザーが入力できます。

12345<### -%%%%%%%>@@@@@

文字列は、ユーザーが PIDKEY プロパティのエントリのマスク テンプレートを定義します。 文字列の可視セグメントは、角かっこ (<>) 文字のペアで囲まれています。

マスクの構文を次の表に示します。

文字 意味
< テンプレートの表示されているセグメントの左端。 この文字とその左にあるものはすべて、ユーザー インターフェイスに表示されません。 テンプレートには、この文字のインスタンスを 1 つ以上含めてはなりません。
> テンプレートの表示セグメントの右端。 この文字とその右側にあるものはすべて、ユーザー インターフェイスに表示されません。 この文字は、検証中にダッシュに置き換えられます。 表示されるセグメントが <で始まる場合は、一致する >で終了する必要があります。
# この文字には数字 (数字) を使用できます。
% この文字は、マスクがカスタム アクションでフィールドを区別する方法を制御できるようにする代替桁 (数字) にすることができます。
@ この文字には、ランダムな数字 (数字) を指定できます。この文字は、テンプレートの表示部分には表示されません。
& この文字には任意の文字を指定できます。
^ この文字は、マスクがカスタム アクションでフィールドを区別する方法を制御できるようにする代替文字にすることができます。
? この文字は、マスクがカスタム アクションでフィールドを区別する方法を制御できるようにする代替文字にすることができます。
` グレーブ アクセント 記号 ' (ASCII 値 96) は、マスクがカスタム アクションでフィールドを区別する方法を制御できるようにする代替文字を表すことができます。
_ この文字はリテラルアンダースコア文字です。
= この文字はフィールド ターミネータです。 これは、#、%、^、または 'の後に続く必要があります。 これにより、前の位置と同じ型の入力位置がもう 1 つ作成され、'-' 区切り記号でフィールドが終了します。

 

その他の文字はリテラル定数として扱われます。

編集できる文字の場合、コントロールは、同じ種類の連続する文字のブロックごとに 1 つのウィンドウを持つ個別の編集ウィンドウを作成します。

コントロール属性

イベントを使用している属性の値を変更するには、EventMapping Table の Control イベントにコントロールをサブスクライブし、[属性] 列に属性識別子を一覧表示します。 [イベント] 列に Control イベントの識別子を入力します。 MaskedEdit コントロールでは、次の属性を使用できます。

属性 16 進数ビット 形容
IndirectPropertyName これは、コントロールに関連付けられている間接プロパティの名前です。 間接属性ビットが設定されている場合、コントロールは、この名前を持つプロパティの値を表示または変更します。 間接属性ビットが設定されている場合、この名前は、コントロール テーブルの [プロパティ] 列に表示されるプロパティの値でもあります。
位置 ダイアログ ボックス内のコントロールの位置。 コントロールの左隅のコントロールの幅、高さ、および座標を、コントロール テーブルの [幅]、[高さ]、[X]、および [Y] 列に入力します。 長さと距離 インストーラーユニット を使用します。
PropertyName これは、このコントロールに関連付けられているプロパティの名前です。 間接属性ビットが設定されていない場合、コントロールは、この名前を持つプロパティの値を表示または変更します。 この属性は、コントロール テーブルの [プロパティ] 列で指定します。
PropertyValue このコントロールによって表示または変更されるプロパティの現在の値。 間接属性ビットが設定されていない場合、これは PropertyName の値です。 間接属性ビットが設定されている場合、これは IndirectPropertyName の値です。 属性が変更されると、コントロールには新しい値が反映されます。
テキスト テキスト文字列のフォントとフォント スタイルを設定するには、表示される文字の文字列の先頭に {\style} または {&style} を付けます。 ここで、style は、TextStyle Tableの [スタイル] 列に一覧表示される識別子です。 どちらも存在しないが、DefaultUIFont プロパティが有効なテキスト スタイルとして定義されている場合は、そのフォントが使用されます。 マスク テンプレートを指定する文字列は、このプレフィックスに従い、このトピックで前述した構文を使用します。
表示 0x00000000 0x00000001
非表示のコントロール。 表示コントロール。
コントロールを作成時に表示または非表示にするには、コントロール テーブル の [属性] 列のビット ワードにこのビットを含めます。
ControlCondition Tableを使用して、コントロールを非表示または表示することもできます。
Enabled 0x00000000 0x00000002
無効な状態のコントロール。 有効な状態での制御。
作成時にコントロールを有効にするには、コントロール テーブルの の [属性] 列のビット ワードにこのビットを含めます。
ControlCondition Tableを使用して、コントロールを有効または無効にすることもできます。
沈没 0x00000000 0x00000004
既定の表示スタイルを表示します。 沈んだ 3-D の外観でコントロールを表示します。
これらのビットは、コントロール テーブルの [属性] 列のビット ワードに含めます。
間接 0x00000000 0x00000008
コントロールは、コントロール テーブルの [プロパティ] 列にプロパティの値を表示または変更します。 コントロールは、コントロール テーブルの [プロパティ] 列に表示される識別子を持つプロパティの値を表示または変更します。
このコントロールに関連付けられているプロパティが間接的に参照されているかどうかを判断します。

 

備考

MaskedEdit コントロールは、BS_OWNERDRAW スタイルと WS_EX_CONTROLPARENT スタイルを持つ BUTTON クラスの親ウィンドウを 1 つ作成します。 このウィンドウに複数の子ウィンドウが作成されます。

  • 定数テキストパーツの場合、SS_LEFT スタイルと WS_CHILD スタイルを持つ STATIC ウィンドウが作成されます。
  • 編集可能なフィールドの場合は、WS_CHILDWS_BORDER、および WS_TABSTOP スタイルを含む EDIT ウィンドウが作成されます。
  • 数値フィールドの場合、ウィンドウには ES_NUMBER スタイルもあります。

代替桁、%、および代替英数字の ^、?、および ' フィールドを使用すると、マスクで制御できる方法でユーザー設定アクションでフィールドを区別できます。たとえば、^ は大文字にする必要があるフィールドに使用できます。