第2章-5 ListBoxの使い方(1)

今回はサンプルとしては次のようなものを作ります。
ListBoxは多数の選択肢の中から選択させるような場合に使われます。下のサンプルの図で Palmシリーズの名前がリストアップされているコントロールがListBoxです。
いくつか使い方がありますので今回は(1)とします。

list1-1

ListBoxはツールウィンドゥの中の赤丸で囲んである部分がそれです。
これをドラッグ&ドロップでWindow1上に配置します。大きさは適当に調節します。

list1-2

ListBoxのプロパティは下の図のように設定します。というか、設定はデフォルトのままで 何もいじっていません。
プロパティのなかの赤丸で囲んである部分があります。これはInitialValueといって この編集ボタンをクリックするとあらかじめListBoxに表示する項目を設定できます。
でも、今回は使いません。何故かというと、この方法でLsitBoxの表示項目を決めてしまうと プログラム起動時にListBoxに表示された後、Listとして残らないのです。つまり、何が表示 されているか後からプログラム上で取得しようとしても取得できないというデメリットがあります。 それなので、今回はListBoxに表示する項目はプログラム中で設定することにしてこの InitialValueはつかいません。

list1-3

その他のコントロールの配置は下の図のようになっています。詳細は省略します。

list1-4

次に、コードを書きます。まず、ListBoxに表示する項目の設定を行います。全ての処理に先立って 設定する必要がありますのでopenイベントに次のように書きます。


Sub Open()
  'ListBoxへの項目の設定
  
  ListBox1.AddFolder "PalmIII"
  ListBox1.AddFolder "PalmV"
  ListBox1.AddFolder "PalmVx"
  ListBox1.AddFolder "PalmIIIc"
  ListBox1.AddFolder "WorkPad30J"
  ListBox1.AddFolder "WorkPad40J"
  ListBox1.AddFolder "WorkPad50J"
  ListBox1.AddFolder "TrgPro"
  ListBox1.AddFolder "Visor"
End Sub				
			

これで、ListBoxに項目名が表示されます。
スクロールバーの制御は特に行いません。表示する項目数によって有効になったり、無効になったり 自動的にやってくれます。

次に、項目名の選択後の処理です。
このサンプルでは項目名をダブルクリックしたらそれが選択されたとして、項目名を右のStaticTextに 表示させます。
コードを各場所はコードエディタのコントロールListBox1DoubleClickに 次のように書きます。


Sub DoubleClick()
  StaticText3.Text = ListBox1.List(ListBox1.ListIndex)
End Sub				
			

たった1行です。
ListBox1.ListIndexには選択された項目の行番号が入っています。
ListBox1.List()には表示されている項目名のリストが配列として格納されています。
従って、この1行の意味は項目名のリストのなかから選択した行番目のテキストを取得しそれを スタティックテキストに表示するということになります。
以上です。

目次に戻る