Sign in Join
Wiki copytemporary

TEdit/ja: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11**TEdit** ![](/wiki-images/d/db/Tedit.png)は1行編集のコントロールである。[[Component Palette/ja|コンポーネントパレットの]][[Standard tab/ja|Standardタブにある]]。
22
33## 使い方
44
55TEditはコンポーネントパレットの[[Standard tab/ja|StandardタブにあるTEditアイコンをクリックし]]、フォーム[[TForm|form]]上で1回クリックすることで加えることができる。これで、実行時にこの1行テキストフィールドを編集できる。
66
77もし、このテキストを別の場所で使いたいときは、他の[[String|Stringのように]]用いることができる。
88
99例えば、もしTEdit *Edit1*をフォームに加えると、`myString := Edit1.Text;`を用いることができる。
1010
1111もし、アプリケーションの起動時TEdit *Edit1*の中のデフォルトテキスト(例えば、*Edit1*)をほかのものを表示するようにしたいなら、以下のように進めることができる:
1212
1313- フォーム上のTEditをクリックによって選択する。
1414- オブジェクトインスペクタのプロパティタブに移動する。
1515- プロパティ**Text**を選択し、隣の入力フィールドを変更する。
1616- 同様にして、プロパティ**Name**を選択し、TEditをましな名前にする。
1717
1818### パスワード入力
1919
2020TEditを簡単にパスワードを入力に用いることができる。このようにして、実際に入力した[[Char|Charに]]代わり、パスワード文字を表示させる。
2121
2222簡単な例:
2323
2424- 新しいTEdit TEdit *Edit1*を持つGUIアプリケーションを作り、TButton *Button1*をフォームに置く。
2525- オブジェクトインスペクタで*Edit1*のパスワード文字プロパティを、1つのアスタリスク( * )にする。
2626- *Button1*の*OnClick*イベントハンドラは入力されたパスワードを: `ShowMessage(Edit1.Text);`と示す。
2727
2828### テキストヒント
2929
3030例えば、検索語を入力できる検索ボックスに入力したことはあるだろうか。そして使われてないときは、検索語ボックスはそれが何のためにあるか知らせるために「検索」のようなものを表示しているのを見たことはあるだろうか。そう、TEditはこの目的のためにTextHintと呼ばれるプロパティを持っている。TextHintは通常の「Text」が空でコントロールが使用されていない場合は、「検索」メッセージが表示される。たいていの部品ではTextHintはユーザーがタイプを始めると自動的にそこから消える。この例外はGTK2/3で、コントロールがフォーカスを得ると直ちに、中身を消し去る。
3131
3232TextHintからのテキストは通常のテキストより、幾分灰色がかっており、そのためユーザーは何か特別なものと気づく。大方の人はこのインタフェースを直感的に理解する。
3333
3434## 要望事項
3535
3636### TEditの埋め込まれたボタン/他のコントロール
3737
3838あらゆる種類のコントロールをTEditに埋め込むことができるのはWinAPIの特性である。
3939
4040考慮事項
4141
4242- この特性はすべての部品で本来サポートされていない。例えば、GtkEntryがコンテナに由来しないのでGtk2/Gtk3では不可能である。SpinEditコントロールはGtk2の中で特別なクラスである(これは[[TSpinEdit|TSpinEditがそれ]]自身のWSクラスを持つ主たる理由である)。
4343
4444- 埋め込まれたコントロールの配置に左、あるいは上方プロパティを設定することはできない(これは通常発生する)。そのかわり、「整列(Align)」プロパティを使うべきである。
4545
4646```delphi
4747button1.Parent:=edit1;
4848button1.Width:=20;
4949button1.Align:=alRight;
5050button1.Constraints.MaxHeight:=18; //edit1.Height;
5151```
5252
5353- 「Text」エントリフィールドはTEditプログラムによって制限される:もしくは部品によって自動的に行われるべきである
5454
5555このような制限ないと、入力されたテキストはボタンの「下側」に行ってしまう。
5656
57-<figure>
58-<img src="edit1.gif" title="edit1.gif" />
59-<figcaption>edit1.gif</figcaption>
60-</figure>
57+![](/wiki-images/8/87/Edit1.gif)
6158
6259もし純粋なWinAPIを用いると、これは EM_SETMARGINS メッセージを使用することで行われる:
6360
6461```delphi
6562Uses
6663 Windows, ...
6764
6865...
6966
7067 SendMessage(Edit1.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLParam(0, button1.Width))
7168```
7269
73-<figure>
74-<img src="edit2.gif" title="edit2.gif" />
75-<figcaption>edit2.gif</figcaption>
76-</figure>
70+![](/wiki-images/5/53/Edit2.gif)
7771
7872DelphiVCLはMarginsプロパティを提供するが、これは EM_SETMARGINS にはマップされず、VCLで異なる意味を持つ。
7973
8074## 以下も参照のこと
8175
8276- [[doc:lcl/stdctrls/tedit.html|TEdit doc]]
8377- [[TMemo]] - 複数行のテキスト編集ボックス
8478- [[TLabeledEdit]] - TEditにラベルがついた編集フィールド
8579- [[TMaskEdit]] - マスクのついた編集フィールド
8680- [[TSpinEdit]] - 長さが制限された整数のための編集フィールド
8781- [[TFloatSpinEdit]] - 長さが制限された浮動小数点タイルのための編集フィールド
8882- [[TEditButton]] - [[TSpeedBtn|TSpeedBtnをボタンとして]]持つTEditにような編集フィールド
8983- [[TFileNameEdit]] - ファイル名を入力するために[[TOpenDialog|TOpenDialogがつけられた]]編集フィールド
9084- [[TDirectoryEdit]] - ファイルパスを入力するために[[TSelectDirectoryDialog|TSelectDirectoryDialogがつけられた]]編集フィールド
9185- [[TDateEdit]] - 日付を入力するために[[TCalendarDialog]](カレンダー)につけられた編集フィールド
9286- [[TCalcEdit]] - 数字を入力するために[[TCalculatorDialog]] (電卓)につけられた入力フィールド
9387- [[TTIEdit]] - RTTI可能な入力フィールド
9488
9589---
9690*From the Free Pascal wiki, page "TEdit/ja", as it stood on 2024-03-20 after a change by Ariben, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history