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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE4 [FMX]スプリッター(Splitter) 2015/04/17
 
前回は[Standard]内の「スイッチ(Switch)」について記述しましたので、今回は、同じく[Standard]内の「スプリッター(Splitter)」について記述します。
   【Delphi2010の記事はこちら】
   【DelphiXE3[VCLアプリケーション]の記事はこちら】
   【DelphiXE3[FMXアプリケーション]の記事はこちら】
 

 
XE4(FMX)

FMX.StdCtrls.TSplitter
XE3(FMX)

FMX.Controls.TSplitter
 
ユニットが変わっていますが、オブジェクトインスペクタでは、ほぼ変わりなしの様子です。が、Widthプロパティの初期値が以前は「5」だったものが「100」に変わっています。そのため、スプリッター・コンポーネントを配置したとき、通常では使用しないような横幅の大きいスプリッターが表示される事になってしまいます。
 
(ヘルプより)
Align
このコントロールの整列オプション(上、左、クライアント、など)を示します。
 
Alignを使用すると、現在のコントロールの位置揃えを自動的に設定できます。AlignをalNone以外の値に設定すると、コントロールの位置、サイズ(高さと幅)、アンカーに影響を及ぼす可能性があります。デフォルトでは、Alignは、alNoneに設定されています。
TControlの子孫は、多くの場合、可視性と値をAlignプロパティに対して設定します。たとえば、TToolBarの場合、AlignのデフォルトはTAlignLayout.alTopです。
Alignの取り得る値と、コントロールに対するそれら値の目に見える効果については、FMX.Types.TAlignLayoutを参照してください。
例えばパネルを左寄せに配置した右横に配置する場合には同じく左寄せ=alLeftを指定します。
 
MinSize
スプリッタが左右上下のマージンのいずれかの最大までスライドされた場合の、コントロールの最小サイズをピクセルで示します。
 
MinSizeを使用すると、このスプリッタを使用して分けられているコントロールの、最小の幅または高さを設定することができます。
ShowGrip
今後のリリースで使用。
だそうですが、Trueにすると中央にグリップ?の円が表示されます。Falseにすると円は表示されません。
 
 
TSplitterは、FireMonkeyフォームのクライアント領域をサイズ変更可能な複数のペインに分割します。
 
1つのフォーム内の整列された2つのコントロールの間にスプリッタを追加すると、ユーザーが実行時にそのコントロールのサイズを変更できるようになります。スプリッタは、フォームの一方の端に接しているコントロールと、それ以外のクライアント領域を占めているコントロールとの間に配置されます。スプリッタは、フォームの端に接しているコントロールと同じ向きにします。ユーザーがスプリッタを移動すると、フォームの端に接しているコントロールのサイズが変化します。これによって、このフォームのクライアント領域が変化し、それに応じてクライアント領域の残りの部分を占めるコントロールのサイズが変化します。
 
フォーム上の各コントロールは、独立したペインとして使用します。各ペインを配置したら、それと同じ向きのスプリッタを配置して、そのペインのサイズを変更できるようにします。最後にフォームに配置されたペインは、クライアントに合わせる必要があります。このため、ほかのすべてのペインがサイズ変更された後で、残りの領域を埋めるように自動的にサイズ変更されます。
 
というわけで、例えばパネルを配置(Align=alNone以外)した後にスプリッターを配置すると、そのパネルの大きさを実行時に変化させる事が出来ます。
例えば、
 Panel1をalLeftで配置、Splitter1をalLeftで配置、
 Panel2をalClientで配置、
  Panel2上で GroupBox1をalTopで配置、Spltter2をalTopで配置、
  Panel2上で CalloutPanel1をalClientで配置、
したとします。

 
保存・コンパイル・実行をします。

↓ Splitter1をドラッグ操作

 

↓ Splitter2をドラッグ操作

 
というように、スプリッターによってパネル等の表示サイズを変更させる事が出来るようになります。パネルの横幅サイズを変更する場合は、パネルのWidthプロパティ値、縦高さサイズを変更する場合は、Heightプロパティ値を アプリケーションプログラムで保存・呼び出しするようにしておけば、ユーザーの好きな画面状態でアプリケーションを実行させることが出来るようになります。
 
リサイズを行う事により、表示領域が狭くなって、配置しているコントロールがちゃんと表示しきれなくなりますが、



のようになってしまうと少しみっともないので、パネル等の ClipChildrenプロパティは「True」にしておく方が良いでしょう。そうすれば

という具合に、変に重なり合うような表示にならずに済みます。
 
なお、スプリッターは、フォーカスを持てないようですので 矢印キーや空白キー等での操作は出来ません。
 
 
以下、スタイルブックを指定した画面状態です。
 

指定無し

Air.Style

Amakrits.Style

AquaGraphite.style

Blend.Style

Dark.style

GoldenGraphite.Style

Light.Style

RubyGraphite.style

Transparent.Style
 
MacOSX でも動作することが確認出来ます。

指定無し

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