Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

tut-tut_edit

Author: NISHIO Mizuho

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

ユーザーが入力した文字を受け取るためによく使われるコントロールです。

その1(エディットコントロール)

$(Apollo)/sample/tutorial/edit.rb

   1|require 'phi'
   2|
   3|form = Phi::Form.new(:form1, 'formです')
   4|edit = Phi::Edit.new(form, :edit1)
   5|button = Phi::Button.new(form, :button1, 'OK')
   6|
   7|form.width = 350
   8|form.height = 50
   9|edit.align = Phi::AL_CLIENT
  10|edit.text = ''
  11|button.align = Phi::AL_RIGHT
  12|
  13|button.on_click = proc do
  14|  print edit.text, "\r\n"
  15|end
  16|
  17|form.show
  18|Phi.mainloop

このスクリプトを実行すると、このような ウィンドウがあらわれます。

解説

今回のサンプルではボタンが押されると、エディットに入力された文字が標準出力に表示されるようになっています。

4行目でエディットを生成しています。 Phi::Edit.new は三つの引数を取ることができ、第1引数は親になるコントロール、第2引数はSymbolのオブジェクトや文字列( Phi::Label.new の時に説明した第2引数と同じです)、第3引数はコントロールに表示される文字列になります。この時、第2引数以降は省略することが可能です。

Phiのモジュールで定義されているクラス( Phi::Label、Phi::Edit、Phi::Button 等)のコンストラクタ(new)はこれと同じ引数を取ることが多いです。

9行目と11行目でエディットとボタンの配置と大きさを設定しています。Phi::AL_CLIENTとPhi::AL_RIGHTを使うことでコントロールの位置や大きさを数字で指定せずに設定することが可能です。10行目は起動時に表示されるエディットの文字を空にしています。Phi::Edit.new でエディットの文字列を指定しない場合は、「edit1」のような文字がエディットに表示されるので、ここで空の文字をエディットに指定しています。

13〜15行はボタンが押されたときの動作を設定しています。14行目のedit.text( Phi::Edit#text )は現在エディットに表示されている文字を表わしているので、ボタンが押されると、エディットの文字がコンソール(操作卓等に)に1行で表示されます。

クラスやメソッド

http://znzwam.com/

その2(コンボボックスコントロール)

$(Apollo)/sample/tutorial/combobox.rb

   1|require 'phi'
   2|
   3|form = Phi::Form.new(:form1, 'formです')
   4|combobox = Phi::ComboBox.new(form, :combobox1)
   5|button = Phi::Button.new(form, :button1, 'OK')
   6|
   7|form.width = 350
   8|form.height = 50
   9|combobox.align = Phi::AL_CLIENT
  10|combobox.text = ''
  11|button.align = Phi::AL_RIGHT
  12|
  13|combobox.items.add('ほげ')
  14|combobox.items.add('ふが')
  15|combobox.items.add('にゅう')
  16|
  17|button.on_click = proc do
  18|  print combobox.text, "\r\n"
  19|end
  20|
  21|form.show
  22|Phi.mainloop

このスクリプトを実行すると、このような ウィンドウがあらわれます。

解説

コンボボックスはブラウザーのURLを入力する部分に使われているコントロールです。プルダウンメニューから値を選択することができるところがエディットとは大きく違います。

3〜5行はこのスクリプトで使用するコントロールを生成していて、4行目でコンボボックスを生成しています。 Phi::Combobox.new の使い方は今まで紹介してきたコントロールのコンストラクタと同じなので、分かると思います。

7〜11行はコントロールの配置やサイズを設定しています。

13〜15行目はコンボボックスのプルダウンメニューを設定しています。 combobox.items( Phi::ComboBox#items )はプルダウンメニューに表示される項目で、その実体は Phi::Strings のオブジェクトです。Phi::Strings は配列のように扱うことができ、combobox.items.add ( Phi::Strings#add )によって Phi::Strings のオブジェクトに項目を追加します。ここでは Phi::Strings#add はプルダウンメニューを追加する働きがありますが、 Phi::Strings は使用するオブジェクトによって機能が違うので、注意してください。

17〜19行はOKボタンが押された時のイベントを設定しています。行っていることはエディットの時とほとんど同じです。

クラスやメソッド

Phi::ComboBox

Phi::Strings

Last modified:2004/11/26 02:47:21
Keyword(s):
References:[Phi::ComboBox] [tut-tut_index]