入力系画面を作ろう!


入力系コントロール

入力系画面を作ろう!

入力コントロールとなる「TextFieldクラス」の説明と選択コントロールとなる「SpinControlクラス」の説明していきます。対象ファイルは「gui-controls.scurl」です。

TextFieldクラスを使用すると、ユーザーにテキスト入力フィールドを提供できます。TextFieldはテキスト入力フィールドを1行表示し、テキストの編集を許可する機能を持っています。既定のTextFieldクラスは、以下のように既定(default)のコンストラクタを呼び出して作成します(クラス、コンストラクタについては「Curl IDE ドキュメント」の「クラス」を参照ください)。

コード8 TextFieldクラスを使用

例えば、今回の入力フォームで「名前(全角)」のインターフェイスを作るに当たり、以下のオプションを設定しています

コード9 TextFieldクラスのオプション設定

「width」オプションはTextFieldの幅を設定します。今回はcm(センチメートル)で指定していますがpt(ポイント)やyd(ヤード)など、さまざまな単位で設定できます。「halign」はTextField内のテキストを水平方向にどのように配置するかを指定できます。

「input-method-focus-behavior」オプションと「input-method-keyboard-mode」は、名前で分かるようにIMEの制御を設定するオプションです。「input-method-focus-behavior」オプションはIMEのON/OFFを設定でき、「input-method-keyboard-mode」はIMEのモード切り替えの設定ができます。上記の例では「input-method-keyboard-mode」オプションを「hiragana」として、平仮名文字の入力モードに設定しています。

また入力チェックについて郵便番号が正しく入力されているかどうかの設定は以下のように設定しています。

コード10 TextFieldクラスへのvalidate-withの設定

Validate-withプロシージャを使うと簡単に入力チェック機能が実装できるようになっています。ただし、より複雑な制御を行いたい場合は「イベント」を使用して実装することができます。

TextFieldクラスには、これ以外にもさまざまなオプションがあります。詳しくは「Curl IDE ドキュメント(開発環境CDEの中に入ってます)」の「TextFiledクラスのローカルオプション」「非ローカルオプション」を参照してください。またTextField以外にもSpinControlやCommandButtonが使用されていますが、詳しくは「Curl IDE ドキュメント」の「目次」タブ-「Curl開発者ガイド」-「グラフィカル ユーザー インターフェイス」をご覧ください。