AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX]リストボックス(ListBox) 2013/10/07
 
前頁で[Standard]内の「SizeGrip」(サイズ変更グリップ)について書きましたので次は、同じく[Standard]内の「ListBox」(リストボックス)です。
   【Delphi2010の記事はこちら】
   【DelphiXE3[VCLアプリケーション]の記事はこちら】
 
 


(ヘルプより)
AllowDrag
リスト内部の項目のドラッグを可能にします。
AllowDrag により、リスト項目群を順番を、それらをドラッグすることにより変更できるようになります。
AlternatingRowBackground
連続する項目群が、それぞれ異なる背景を持つかどうかを示します。
AlternatingRowBackground を True に設定すると、項目群の背景が順番に変わります。
 False(デフォルト):

 True:

Animated
スクロールを行う際に、スムーズなスクロールアニメーションを使用するかどうかを示します。
AutoHide
スクロールバーを、自動的に表示または非表示にするのかを示します。
True(デフォルト)に設定されており、表示領域上にコンテンツがない場合、スクロールバーは自動的に非表示になります。
Falseに設定されている場合は、スクロールバーを表示するかどうかは、手動で決定する必要があります。
Columns
リストボックス内の項目群を表示する列の数を示します。
ItemHeight
リストボックスにおける項目の高さを示します。
ItemHeightを使用すると、リストボックスにおける項目の高さをピクセルで指定することができます。
 デフォルト0=自動サイズ
ItemWidth
リストボックス内の項目の幅を示します。デフォルト値は 0 です。 別の値を ItemWidth に設定すると、すべての項目がその値のサイズに再調整され、複数の列上に表示されます。
ListStyle
項目がリストボックスにどのように表示されるかを示します。
 lsVertical:垂直(デフォルト)

 lsHorizontal:水平
MouseTracking
マウスを、左マウスボタンを押しながら移動させると、スクロールが有効になります。
MouseTracking プロパティを True に設定すると、マウスを、左マウスボタンを押しながら移動させた際に、TScrollBox コントロールのスクロールが有効になります。MouseTracking を False に設定すると、この機能が無効になります。
MultiSelect
リスト内で複数の項目を選択可能かどうかを示します。
MultiSelect が True に設定された場合、リストから複数の項目を選択でき、そうでなければ 1 項目に限定されます。
ShowCheckboxes
リストボックス内の各項目の隣に、チェックボックスを表示します。
 False=デフォルト
 True:

 MultiSelectとは無関係です。
ShowScrollBars
アタッチされているスクロールバーを可視にするかどうかを示します。デフォルトでは、ShowScrollBars は、True に設定されています。
ShowSizeGrip
このスクロールボックスの右下隅にサイズ グリップを表示するかどうかを示します。
ShowSizeGrip プロパティを True に設定すると、スクロールボックスコントロールの右下隅にあるグリップのサイズ変更が有効になります。もしくは、このグリップを表示したくない場合には、False に設定します。
とありますが、リストボックスの場合には無関係のようです。
 
Sorted
項目のリストを並び替えるかどうかを示します。
 
(ヘルプより)
TListBox は、一連の項目をスクロール可能なリストに表示します。
 
項目を追加するには、フォーム上でリスト ボックスを右クリックし、[項目の追加]を選択します。すると、TListBoxItem オブジェクトが新しく作成されて[構造]ペインに表示され、個別に編集できるようになります。フォーム デザイナでリスト ボックス コントロールをダブルクリックして、リスト ボックスの項目を管理することもできます。この場合には[項目デザイナ]ダイアログが開き、そこで項目を追加/削除したり順序を変更することができます。
 
TListBox を使用すると、次のようなことができます。
 ・MultiSelect プロパティを使って、リスト内の 1 つの項目しか選択できないようにするか複数を選択できるようにするかを設定できます。
 ・ShowCheckboxes プロパティを使って、リスト項目にチェック ボックスを付加できます。
 ・AlternatingRowBackground を使って、隣り合うリスト項目が異なる背景色になるよう設定できます。
 
との事で、VCLアプリケーションでのリストボックスは、複数の文字列を一覧として持てるコンポーネント、という感じがありましたが、FireMonkey(FMX)の場合は、イメージ的に、複数のラベル(又はチェックボックス)コンポーネントをパネル上に順序付けて配置している、という感じがあります。
 
これまで通り、文字列一覧は、Itemsプロパティで取得出来ます。ItemIndexプロパティもあります。
 
VCLアプリケーションの場合、リストボックスに水平スクロールバーを付ける場合
ListBox1.Perform(LB_SETHORIZONTALEXTENT,0,0);
等のような事をしていましたが、FireMonkey(FMX)の場合は出来ません。というか、Performメソッド自体がありませんね。そんな事をせずとも、ItemWidthプロパティをWidthプロパティより大きくすればスクロールバーは表示されます。但し、ItemHeightプロパティが 0 になっているとまずいので、文字サイズにあわせた高さを入れる必要があります。
 
MultiSelectプロパティを True にして複数選択可能にした場合、VCLでは
for i:=0 to ListBox1.Items.Count-1 do
 if (ListBox1.Selected[i]) then
  〜
のようにしていましたが、FMXの場合は、
for i:=0 to ListBox1.Items.Count-1 do
 if (ListBox1.ListItems[i].IsSelected) then
  〜
のように書くようです。
 
同様に、チェックを利用する場合は
for i:=0 to ListBox1.Items.Count-1 do
 if (ListBox1.ListItems[i].IsChecked) then
  〜
のような感じのようです。
 
 
他のコンポーネントと同様、スタイルによって概観は変化します。スタイルブックを追加し、スタイル「Air.Style」を指定した状態です。
 スタイル無し状態:

 スタイル有り状態:

 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/06
 2013/10/07
▼2013/10/07
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.