


 
 
 
 
 
 
 |
DelphiXE3 [FMX]エクスパンダー(Expander) 2013/10/03 |
前頁で[Standard]内の「ScrollBar」(スクロールバー)・「SmallScrollBar」(小スクロールバー)について書きましたので次は、同じく[Standard]内の「Expander」(エクスパンダー;展開)です。Delphi 2010、VCLアプリケーションに、これそのもの、というのはありませんが、[Additional]〜「CategoryPanelGroup」(分類パネルグループ)のようなものでしょうか?
【Delphi2010の記事はこちら】
【DelphiXE3[VCLアプリケーション]の記事はこちら】


 |
(ヘルプより)
IsExpanded
展開コントロールのコントロールが展開されているかどうかを示します。
IsExpanded プロパティを True に設定すると、展開コントロールのコンテンツを展開し、含まれているすべての項目を表示させることができます。 展開コントロールを折りたたむには、IsExpanded を False にします。
IsExpanded プロパティのデフォルト値は、True です。 |
ShowCheck
展開コントロールが右上端にチェック ボックスを表示するかどうかを示します。
ShowCheck プロパティを True に設定すると、展開コントロールオブジェクトの右上端に、チェックボックスが表示されます。 ShowCheck を False に設定すると、チェックボックスが非表示になります。
|
IsChecked
展開コントロールのチェックボックスが選択されているかどうかを示します。
IsChecked プロパティを True に設定すると、展開コントロールのチェックボックスを選択状態にすることができます。 展開コントロールのチェックボックスをクリア状態にするには、IsChecked を False にします。IsChecked プロパティのデフォルト値は、True です。 |
OnCheckChange
この展開コントロールのチェックボックスが状態を変更するたびに発生します。
OnCheckChange イベントを記述すると、この展開コントロールにアタッチされているチェックボックスが、その状態を True から False、もしくはその逆に変更するたびに、何を発生させるかを指定することができます。 |
|
(ヘルプより)
表示領域を拡大/縮小する可能性のある複数のグラフィカルコントロールを保持するためのグラフィカル コントロールを表します。
TExpander コンポーネントを使用するのは、内容の表示/非表示のために拡大/縮小できる領域にグラフィカルコンポーネントを配置する手段をユーザーに提供する必要がある場合です。 |
というわけで、下図のように配置してみます。
保存・コンパイル・実行してみます。
というわけで、普通に配置する分には、下に別のコンポーネントを配置しないと余り意味はないですね。そうなるとデザイン時の作業がややこしくなるので、普通、こういう事はしない、という事でしょうか。
となれば当然のごとく、Alignプロパティに alNone以外の値を指定する、というのが前提となっていくのでしょう。下図は Alignプロパティに alTop を指定した場合です。
保存・コンパイル・実行してみます。
それでは少しだけイベントの確認を。
エクスパンダーの ShowCheckプロパティを True にしておきます。
procedure TForm1.Expander1CheckChange(Sender: TObject);
begin
ShowMessage('展開1チェック操作');
end;
procedure TForm1.Expander1Click(Sender: TObject);
begin
ShowMessage('展開1クリック');
end; |
保存・コンパイル・実行をしてみます。

↓クリック

どこをクリックしても反応します。
展開・折り畳みをしたときのイベント、というのは無い様子?

↓チェックをオフに

チェックがオフになった後にイベントハンドラが実行
↓

チェックオフにすると内部が操作不可状態に
エクスパンダーも他のコンポーネントと同様、スタイルによって概観は変化します。スタイルブックを追加し、スタイル「Air.Style」を指定した状態です。
保存・コンパイル・実行を行います。
操作してみると、なんと、OnClickイベントハンドラが動作しなくなっています。スタイルの指定の有無で動作状態が変わってしまう、というのは少し困った事になりそうな気がします。動作確認はしっかりとしないといけなさそうですね。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/02
2013/10/03
▼2013/10/03
シェアウェア
Script!World
データベース
|