[ top ] [ prev ] [ up ] [ next ]

Phi::Edit

Windows の 1 行編集コントロールのラッパー

標準的な Windows 編集コントロールをフォーム上に配置できる。編集コントロールを使うと,入力されたテキストを取り出すことができる。編集コントロールはテキストを表示することもできる。

テキストを表示するだけの場合,そのテキストを選択してクリップボードにコピーできるようにするには編集コントロールを使う。このような編集コントロールの機能が不要の場合は, Phi::Label オブジェクトを使ってテキストを表示すればよい。

super class

Phi::WinControl

properties

auto_select : Boolean
focus を得たときにすべてのテキストを自動的に選択するかどうか

テキストが追加されるよりも置換される場合の方が多いと思われるときに true を指定しよう。

auto_size : Boolean
テキストに合わせて self の高さを自動的に変更するかどうか

auto_size はクライアント領域の高さをテキストに合わせるように編集コントロールのサイズを調整するのに使う。

false
編集コントロールの高さは固定である。
true
フォントや境界線のスタイル変更のようにコントロールの高さに影響する変更が発生したときにコントロールのサイズが再調節される。

注意
auto_size は編集コントロールの高さのみを調整する。 auto_sizetrue の場合でも,テキストの幅がコントロールよりも大きくなった場合はテキスト表示が切れてしまうことがある。

border_style : Fixnum (BorderStyle)
クライアント領域の周囲に単一線の境界をもつかどうか

BS_SINGLE
周囲に単一線の境界を持つ。
BS_NONE
境界はない。

can_undo : Boolean
取り消し可能な変更が編集コントロールに入っているかどうか

テキストに対して加えた変更内容が undo を呼び出すことによって取り消すことができるかどうかを判別できる。変更を加えるようなコマンドに相応するメニュー項目を有効にしたり無効にしたりするときに役立つ。

char_case : Fixnum (CharCase)
テキストの大文字と小文字を決定する。

テキストを大文字または小文字に変換する。以下に char_case の値を示す。

EC_LOWER_CASE
テキストを小文字に変換する
EC_NORMAL
テキストは大文字と小文字のどちらでもよい
EC_UPPER_CASE
テキストを大文字に変換する

char_caseEC_LOWER_CASE または EC_UPPER_CASE である場合,ユーザーが編集コントロールに入力する時点で文字の大文字と小文字が変換される。 char_caseEC_LOWER_CASE または EC_UPPER_CASE に変更すると,テキストの表示だけでなく実際のデータも変更される。大文字と小文字を区別する情報は失われるため, char_caseEC_NORMAL に戻しても復旧はできない。

hide_selection : Boolean
focus が他の control に移動したとき,テキストの範囲選択の描画をしないか否か

false
self が focus を持たない状態でもテキストが選択されたときと同じ長方形領域を描画したままにする。
true
self が focus を持っている場合にのみ選択された長方形領域を描画する。

hide_selection は選択の実際の値には無関係で,その視覚的な表示にのみ影響する。常に hide_selectionfalse にしてしまうと編集コントロールの多いフォームが見づらくなることがある。

max_length : Fixnum
ユーザーが編集コントロールに入力できる文字の最大長

max_length は,編集コントロールに入力できる文字の長さをバイト単位で指定する。テキストが固定長バッファにコピーされることがありえる場合に, max_length を使ってテキストの長さを制限するとよいだろう。

値を 0 に設定すると,動作環境に依存した値 ( 現在の Windows では 64 KB ) が使われる。

注意
lines を直接扱うと, max_length を超えるテキストを保持することができる。 max_length を変更しても既に保持されているテキストの長さを変更することはできない。 max_length よりテキストの長さが長い場合には,それ以上の文字の追加ができなくなる。

modified : Boolean
ユーザーが編集コントロールのテキストを編集したかどうか

modified は,編集コントロールの text が変更されたかどうかを調べる。 text をプログラムで直接変更する場合, modifiedtrue に設定しなければならない。

oemconvert : Boolean
編集コントロールに入力された文字を ANSI から OEM に変換して再び ANSI に戻すかどうか

編集コントロールに入力された文字が確実に OEM 文字セットに変更されるようにするには, oemconverttrue に設定する。これにより,すべての文字が入力時に ANSI から OEM に変換されてその後で ANSI に戻される。

テキストを OEM 文字列にマップする必要がない場合は oemconvertfalse に設定すれば変換のオーバーヘッドを回避できる。

password_char : Fixnum (Char)
入力された実際の文字の代わりに表示する文字

password_char を 0 に設定すると,編集コントロールはテキストをそのまま表示する。 password_char が 0 以外の場合は,編集コントロールは入力された文字の代わりに password_char の文字を表示する。 password_char は編集コントロールの表示のみに影響する。 text の値は入力された実際の文字を示す。

read_only : Boolean
ユーザーが編集コントロールのテキストを変更できないか否か

編集コントロールを表示のみに制限するには read_onlytrue に設定する。編集コントロールでの編集を可能にするには read_onlyfalse に設定する。

read_onlytrue に設定するとテキストの変更はできなくなるが,テキストの選択はできる。選択されたテキストをアプリケーションによって操作したり,クリップボードにコピーしたりすることができる。

sel_length : Fixnum
選択されている文字の数

sel_length は,選択されているテキストの長さをバイト数で調べる。 sel_length を設定すると,選択の内容を sel_start から始まり, sel_length の長さの文字列に変更できる。

注意
sel_length の値を sel_start が示す文字からテキストの最後までの文字数よりも大きく設定すると sel_start からテキストの最後までのすべての文字が選択される。 sel_length の値を利用できる文字数よりも大きく設定した後に sel_length を参照すると,設定した値ではなく実際に選択されている文字の長さが返される。

sel_start : Fixnum
テキスト選択の先頭文字の位置

sel_start は,範囲選択されている文字列の開始位置を調べる。編集コントロールの先頭位置は 0 である。選択されているテキストがない場合, sel_start はカーソル位置を示す。 sel_start を設定すると現在の選択範囲はクリアされ,指定した文字の直前にカーソルを置くことができる。特定の範囲のテキストを選択するには,まず sel_start を設定してカーソル位置を決め, sel_length を使って選択範囲を指定する。

sel_text : String
編集コントロールのテキストの選択部分

sel_text は現在選択されているテキストである。 sel_text を設定すると選択したテキストを新しいテキストで置き換えることができる。範囲選択されていない編集コントロールに sel_text を設定すると,カーソル位置に新しい文字列を挿入できる。
author: YOSHIDA Kazuhiro
[ top ] [ prev ] [ up ] [ next ]