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

<< Click to Display Table of Contents >>

マニュアル > コントロールリファレンス > 基本 >

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


エディットボックスコントロール (EditBox)

 

 

エディットボックスは、画面から数値やテキストの入力を行うための基本コントロールです。

 

cr_0046

 

入力の確定について

 

エディットボックスへの値入力は、以下の操作を行う事で確定します。入力が確定した時、OnTextChangedイベントが呼び出されます。

 

1)Enterキーが押されたとき。

2)フォーカスを失ったとき。

 

 


hint

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には以下の2つの指定方法があります。

 

書式(v1) ・・・ 旧フォーマットによる指定方法です(Ver5以前の旧書式)。詳細は以下参照。

書式(v2) ・・・ Ver6以降で拡張されたフォーマット指定方法です。詳細は以下参照。

 

 

■書式(v1)

 

「数値の書式」「最小値」「最大値」「基数」「空文字を許可」「入力制限タイプ」「エラーメッセージ」「カンマ区切り」のパラメータを、カンマ「,」で区切って指定します。

先頭に接頭辞「v1:」を付与すると、書式(v1)として識別します。この接頭辞を省略すると、書式(v1)とみなします。

 

v1:数値の書式 , 最小値 , 最大値 , 基数 , 空文字を許可 , 入力制限タイプ , エラーメッセージ , カンマ区切り

 

特に指定をしたくないパラメータには、なにも記述せずカンマでつなげます。たとえば、「最小値」を特に指定したくない場合、「数値の書式 , , 最大値」とカンマを2回続けます。基数はなにも指定しなければ10進数となります。

 

1)数値の書式

0と#を用いて桁数を表現します。なにも指定しないと数値全般が入力可能になります。

 

 

数値の書式

 

例1

00.000

整数部2桁、小数部3桁の数値

例2

#.00

整数部自由、小数部2桁の数値

例3

#

整数部自由、小数なし

例4

00.#

整数部2桁、小数部自由

 

2)最小値

入力できる最小値。小数点も指定できます。なにも指定しないと最小値をチェックしません。

 

3)最大値

入力できる最大値。小数点も指定できます。なにも指定しないと最大値をチェックしません。

 

4)基数

入力可能な数値の基数。2進数、8進数、10進数、16進数が指定でき、それぞれ2、8、10、16(小文字にしたい場合16s)と指定します。なにも指定しないと10になります。

 

TextFormatでの書式

基数

2

2進数

8

8進数

10

10進数

16

16進数(大文字)

16s

16進数(小文字)

 

5)空文字を許可

空文字を許可するかどうかを指定します。「Y」の時、空文字を許可し、「N」の時、空文字を許可しません。何も指定しないと「N」と同じ意味になります。空文字を許可しない場合、オペレータが空文字(なにも入力しない状態)のままエンターキーを押すと、数値0がフォーマットに従い変換され表示されます。空文字を許可した場合、なにも入力しない状態でエンターキーを押すと、そのまま空の状態で表示されます。

 

6)入力制限タイプ

最大値、最小値のチェックの方法を指定します。何も指定しないと「TYPING」になります。

 

TextFormatでの書式

入力制限タイプ

TYPING

数値入力制限をキー入力中に行います。最小値が0の場合、もしくは最大値と最小値が+-でちょうど反転している場合(最大値100、最小値 -100など)に適しています。最大値24、最小値 8など最小値が0でない場合、TYPINGの方法は使用できませんのでENTERを選択してください。

ENTER

入力を確定(ENTERキーを押した時)後に最大値及び最小値をチェックし、範囲外であった場合は、以前に確定していた数値に戻します。

 

7)エラーメッセージ

最大値及び最小値をチェックし、範囲外であった場合、エラーメッセージをメッセージボックスで表示させるかどうかを指定します。入力制限タイプが「ENTER」の時のみ有効です。何も指定しないと「NONE」と同じ意味になります。

 

TextFormatでの書式

エラーメッセージのタイプ

NONE

表示しません。

Y

メッセージの内容をロケールに従って自動切り替えします。

JP

日本語でエラーメッセージを表示します。

EN

英語でエラーメッセージを表示します。

 

8)カンマ区切り

3桁ごとにカンマ区切りにするかどうかを指定します。「Y」の時、3桁ごとにカンマを付けます。何も指定しないと「N」になります。カンマ区切りは表示の時だけで、オペレータが入力する時はカンマは表示されません。

 

hint

エラーメッセージを独自で作成して表示したい場合は、OnTextFormatErrorイベントでメッセージを作成し、メッセージボックスを表示させる方法もあります。

 

hint

最大値、最小値の入力制限を固定値ではなく、タグの現在の値で行いたい場合、以下のように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を指定した場合と同等の動作となる

  

数値書式に関する詳細は「数値書式」を参照してください。