TEdit/ja
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
TEdit は1行編集のコントロールである。コンポーネントパレットのStandardタブにある。
使い方
TEditはコンポーネントパレットのStandardタブにあるTEditアイコンをクリックし、フォームform上で1回クリックすることで加えることができる。これで、実行時にこの1行テキストフィールドを編集できる。
もし、このテキストを別の場所で使いたいときは、他のStringのように用いることができる。
例えば、もしTEdit Edit1をフォームに加えると、myString := Edit1.Text;
を用いることができる。
もし、アプリケーションの起動時TEdit Edit1の中のデフォルトテキスト(例えば、Edit1)をほかのものを表示するようにしたいなら、以下のように進めることができる:
- フォーム上のTEditをクリックによって選択する。
- オブジェクトインスペクタのプロパティタブに移動する。
- プロパティTextを選択し、隣の入力フィールドを変更する。
- 同様にして、プロパティNameを選択し、TEditをましな名前にする。
パスワード入力
TEditを簡単にパスワードを入力に用いることができる。このようにして、実際に入力したCharに代わり、パスワード文字を表示させる。
簡単な例:
- 新しいTEdit TEdit Edit1を持つGUIアプリケーションを作り、TButton Button1をフォームに置く。
- オブジェクトインスペクタでEdit1のパスワード文字プロパティを、1つのアスタリスク( * )にする。
- Button1のOnClickイベントハンドラは入力されたパスワードを:
ShowMessage(Edit1.Text);
と示す。
テキストヒント
例えば、検索語を入力できる検索ボックスに入力したことはあるだろうか。そして使われてないときは、検索語ボックスはそれが何のためにあるか知らせるために「検索」のようなものを表示しているのを見たことはあるだろうか。そう、TEditはこの目的のためにTextHintと呼ばれるプロパティを持っている。TextHintは通常の「Text」が空でコントロールが使用されていない場合は、「検索」メッセージが表示される。たいていの部品ではTextHintはユーザーがタイプを始めると自動的にそこから消える。この例外はGTK2/3で、コントロールがフォーカスを得ると直ちに、中身を消し去る。
TextHintからのテキストは通常のテキストより、幾分灰色がかっており、そのためユーザーは何か特別なものと気づく。大方の人はこのインタフェースを直感的に理解する。
要望事項
TEditの埋め込まれたボタン/他のコントロール
あらゆる種類のコントロールをTEditに埋め込むことができるのはWinAPIの特性である。
考慮事項
- この特性はすべての部品で本来サポートされていない。例えば、GtkEntryがコンテナに由来しないのでGtk2/Gtk3では不可能である。SpinEditコントロールはGtk2の中で特別なクラスである(これはTSpinEditがそれ自身のWSクラスを持つ主たる理由である)。
- 埋め込まれたコントロールの配置に左、あるいは上方プロパティを設定することはできない(これは通常発生する)。そのかわり、「整列(Align)」プロパティを使うべきである。
button1.Parent:=edit1;
button1.Width:=20;
button1.Align:=alRight;
button1.Constraints.MaxHeight:=18; //edit1.Height;
- 「Text」エントリフィールドはTEditプログラムによって制限される:もしくは部品によって自動的に行われるべきである
このような制限ないと、入力されたテキストはボタンの「下側」に行ってしまう。
もし純粋なWinAPIを用いると、これは EM_SETMARGINS メッセージを使用することで行われる:
Uses
Windows, ...
...
SendMessage(Edit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLParam(0, button1.Width))
DelphiVCLはMarginsプロパティを提供するが、これは EM_SETMARGINS にはマップされず、VCLで異なる意味を持つ。
以下も参照のこと
- TEdit doc
- TMemo - 複数行のテキスト編集ボックス
- TLabeledEdit - TEditにラベルがついた編集フィールド
- TMaskEdit - マスクのついた編集フィールド
- TSpinEdit - 長さが制限された整数のための編集フィールド
- TFloatSpinEdit - 長さが制限された浮動小数点タイルのための編集フィールド
- TEditButton - TSpeedBtnをボタンとして持つTEditにような編集フィールド
- TFileNameEdit - ファイル名を入力するためにTOpenDialogがつけられた編集フィールド
- TDirectoryEdit - ファイルパスを入力するためにTSelectDirectoryDialogがつけられた編集フィールド
- TDateEdit - 日付を入力するためにTCalendarDialog(カレンダー)につけられた編集フィールド
- TCalcEdit - 数字を入力するためにTCalculatorDialog (電卓)につけられた入力フィールド
- TTIEdit - RTTI可能な入力フィールド