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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX] 段落レイアウト改行(FlowLayoutBreak)2014/01/03
 
前回は [Layouts]内の「段落レイアウト」(FlowLayout)について見てみました。今回は同じく[Layouts]内の「段落レイアウト改行」(FlowLayoutBreak)について見ていきます。
 
 
[Layouts]内
FMX
 
ヘルプより。
TFlowLayout に改行を挿入するためのダミーのコントロールです。
 
TFlowLayoutBreak は、実行時には表示されず、独立したオブジェクトとして使用しても効果はありません。効果があるのは、TFlowLayout の子として使用した場合のみです。TFlowLayoutBreak の後に TFlowLayout に追加されたコントロールは、新しい行に配置され、表示されます。デフォルトでは、TFlowLayoutBreak の後に追加されたコントロールは、TFlowLayout のプロパティを使って設定された規則に従って配置されます。この動作は、TFlowLayoutBreak の ChangesRules プロパティを True に設定すると変更できます。ChangesRules が True に設定されている場合、TFlowLayoutBreak の後に追加された子コントロールは、すべてのコントロールの表示が終わるか別の TFlowLayoutBreak が見つかるまで、TFlowLayoutBreak のプロパティで指定された規則に従って配置されます。
 

 
ChangesRules
TFlowLayout の次のコントロールが、TFlowLayoutBreak で指定されたルールに従って表示するかどうかを示します。
 
ChangesRules が True に設定されている場合、TFlowLayoutBreak 以降に追加される子コントロールは、TFlowLayoutBreak プロパティで指定されるルールに従って配置されます。これは、すべてのコントロールが表示される、または別の TFlowLayoutBreak が見つかるまで続きます。そうでなければ、コントロールは変更されません。
HorizontalGap
TFlowLayout の隣り合わせの 2 つの子コントロール間の最短距離を示します。
 
HorizontalGap が負の値の場合、子コントロールは FlowDirection プロパティで指定された方向に従って重なっていきます。
Justify
TFlowLayout 内におけるすべての行(最後の行以外)の配置を示します。
 
1 行しかなかった場合、Justify による効果は特になく、その行が最後の行として扱われ、JustifyLastLine に従って整列されます。
JustifyLastLine
TFlowLayout の最後の行の配置を示します。
 
1 行しかなかった場合、Justify による効果は特になく、その行が最後の行として扱われ、JustifyLastLine に従って整列されます。
VerticalGap
TFlowLayout の隣り合わせの 2 つの行間の最短距離を示します。
 
VerticalGap が負の値だった場合、行は重なります。
 
 
前回の段落レイアウト(FlowLayout)+ボタン配置状態で、配置したボタン同様、段落レイアウトの子となるよう段落レイアウト改行(FlowLayoutBreak)を配置します。

 
更にそのあと、段落レイアウトを選択している状態で、ツールパレットにて、[Standard]内の ボタン(Button)をダブルクリックしていきます。(ツールバーでも構いません)

前回、Button12 で終わった後に、段落レイアウト改行を挿入したので、そこで<改行>された状態となり、新規で追記した Button13 以降は次の行になっているのが分かります。
 
段落レイアウト改行(FlowLayoutBreak)を選択し、ChangesRules プロパティを True にして、段落レイアウト改行の Justify・JustifyLastLine プロパティを 「fjRight」に変えてみます。

最下行が少し変ですが、段落レイアウト(FlowLayout)を選択した状態にすると下図のようになり、最下行も普通に見えるようになります。

保存・コンパイル・実行をすると、下図のような画面が表示されます。

 
Button15〜Button17の右端が少し空いている感じですが、これはどうも、段落レイアウトのほうで HorizontalGap プロパティ値を「3」としている影響のようです。この値を「0」にすると、きちんと右端に寄ります。
段落レイアウト改行での ChangesRules プロパティを True とする事で、新ルールでの表現が出来る、という仕様ですが、このような微妙な不具合?は多少、気になるところです。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2014/01/03
 2014/01/03
▼2014/01/04
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.