# エディットボックスコントロール

マニュアル > コントロールリファレンス > 基本 > # エディットボックスコントロール |

| エディットボックスコントロール (EditBox)
プロパティ | メソッド | イベント
エディットボックスは、画面から数値やテキストの入力を行うための基本コントロールです。 入力の確定について
エディットボックスへの値入力は、下記の操作を行う事で確定します。入力が確定した時、OnTextChangedイベントが呼び出されます。 １）Enterキーが押されたとき。 ２）フォーカスを失ったとき。
| OnTextChangedイベントの発生時点では、まだTextプロパティは古いままで変更されていません。オペレータが入力した文字列はOnTextChangedの引数textで渡されます。OnTextChanged内でtextをチェックし、必要があればtextの文字をスクリプトで変更することにより、入力された文字を変更することができます。
パスワード入力について
パスワードとして入力を行いたい場合はTextTypeをPASSWORDにします。
TextプロパティとValueプロパティについて
Textプロパティには、エディットボックスに表示されている表示値が格納されます。TextFormatにより表示様式の変換が行われている場合は、変換された表示値が格納されます。 一方、Valueプロパティには、エディットボックスの値の内部値が格納されます。数値の場合、TextFormatが指定されている場合においても、本プロパティには数値としての値が格納されます。例えばテキストの表示が10進数以外の基数で表示されている場合においても、本プロパティには数値が格納されます。 エディットボックスをタグとバインドする場合は、Valueプロパティへのバインドを推奨します。
入力の制限について（TextFormat）
■TextTypeがTEXTの場合 TextFormatに数値を指定することで、入力可能とする最大文字数を指定することができます。 ■TextTypeがNUMBERの場合 数値のみの入力に制限をしたい場合はTextTypeをNUMBERにします。 この場合、TextFormatには以下の２つの指定方法があります。 •書式(v1) ・・・ 旧フォーマットによる指定方法です（Ver5以前の旧書式）。詳細は下記参照。 •書式(v2) ・・・ Ver6以降で拡張されたフォーマット指定方法です。詳細は下記参照。 ■書式（v1） 「数値の書式」「最小値」「最大値」「基数」「空文字を許可」「入力制限タイプ」「エラーメッセージ」「カンマ区切り」のパラメータを、カンマ「,」で区切って指定します。 先頭に接頭辞「v1:」を付与すると、書式(v1)として識別します。この接頭辞を省略すると、書式(v1)とみなします。 v1:数値の書式 , 最小値 , 最大値 , 基数 , 空文字を許可 , 入力制限タイプ , エラーメッセージ , カンマ区切り 特に指定をしたくないパラメータには、なにも記述せずカンマでつなげます。たとえば、「最小値」を特に指定したくない場合、「数値の書式 , , 最大値」とカンマを２回続けます。基数はなにも指定しなければ10進数となります。 １）数値の書式 0と#を用いて桁数を表現します。なにも指定しないと数値全般が入力可能になります。
| 数値の書式 |
例１ | 00.000 | 整数部2桁、小数部3桁の数値
例２ | #.00 | 整数部自由、小数部2桁の数値
例３ | # | 整数部自由、小数なし
例４ | 00.# | 整数部2桁、小数部自由
２）最小値 入力できる最小値。小数点も指定できます。なにも指定しないと最小値をチェックしません。 ３）最大値 入力できる最大値。小数点も指定できます。なにも指定しないと最大値をチェックしません。 ４）基数 入力可能な数値の基数。2進数、8進数、10進数、16進数が指定でき、それぞれ2、8、10、16（小文字にしたい場合16s）と指定します。なにも指定しないと10になります。
TextFormatでの書式 | 基数
2 | 2進数
8 | 8進数
10 | 10進数
16 | 16進数（大文字）
16s | 16進数（小文字）
５）空文字を許可 空文字を許可するかどうかを指定します。「Y」の時、空文字を許可し、「N」の時、空文字を許可しません。何も指定しないと「N」と同じ意味になります。空文字を許可しない場合、オペレータが空文字（なにも入力しない状態）のままエンターキーを押すと、数値0がフォーマットに従い変換され表示されます。空文字を許可した場合、なにも入力しない状態でエンターキーを押すと、そのまま空の状態で表示されます。 ６）入力制限タイプ 最大値、最小値のチェックの方法を指定します。何も指定しないと「TYPING」になります。
TextFormatでの書式 | 入力制限タイプ
TYPING | 数値入力制限をキー入力中に行います。最小値が0の場合、もしくは最大値と最小値が+-でちょうど反転している場合（最大値100、最小値 -100など）に適しています。最大値24、最小値 8など最小値が0でない場合、TYPINGの方法は使用できませんのでENTERを選択してください。
ENTER | 入力を確定（ENTERキーを押した時）後に最大値及び最小値をチェックし、範囲外であった場合は、以前に確定していた数値に戻します。
７）エラーメッセージ 最大値及び最小値をチェックし、範囲外であった場合、エラーメッセージをメッセージボックスで表示させるかどうかを指定します。入力制限タイプが「ENTER」の時のみ有効です。何も指定しないと「NONE」と同じ意味になります。
TextFormatでの書式 | エラーメッセージのタイプ
NONE | 表示しません。
Y | メッセージの内容をロケールに従って自動切り替えします。
JP | 日本語でエラーメッセージを表示します。
EN | 英語でエラーメッセージを表示します。
８）カンマ区切り ３桁ごとにカンマ区切りにするかどうかを指定します。「Y」の時、３桁ごとにカンマを付けます。何も指定しないと「N」になります。カンマ区切りは表示の時だけで、オペレータが入力する時はカンマは表示されません。
| エラーメッセージを独自で作成して表示したい場合は、OnTextFormatErrorイベントでメッセージを作成し、メッセージボックスを表示させる方法もあります。
| 最大値、最小値の入力制限を固定値ではなく、タグの現在の値で行いたい場合、下記のようにTextFormatプロパティにバインドを設定する方法もあります。 例）$D0を最小値、$D1を最大値とする場合 "," & CStr($D0) & "," & CStr($D1) エディットボックスで入力中に最大値、最小値が変更されても、入力制限は変更されません。入力後、再び入力を開始した時に、最大値、最小値が変更されます。
■書式（v2） 先頭に接頭辞「v2:」を付与すると、書式(v2)として識別します。 書式(v2)では数値の表示フォーマットをロケールに従った動作とすることができます。 v2:DecimalPlaces,Min,Max,Format DecimalPlaces　　：小数点桁数を指定。省略すると「-1」（指定なし） Min　　　　　　　　　　：最小値。0xを付加すると16進での指定となる（省略すると最小値のチェックを行わない）。 Max　　　　　　　　　：最大値。0xを付加すると16進での指定となる（省略すると最大値のチェックを行わない）。 Format　　　　　　　：空文字 or @LOCALE（LocaleNumberルートプロパティに従う） or @NUMBER or 数値書式名。 ※末尾に<Prop1=Value1;Prop2=Value2>のようにプロパティを指定すると個別の動作指定も可能。 ※何も指定しない場合、@NUMBERを指定した場合と同等の動作となる 数値書式に関する詳細は「数値書式」を参照してください。