检索FLowLayout中的断点数



我想以编程方式检索TFlowLayout中的换行符/换行符的数量。

我有一个简单的TFlowLayout,里面有4个常规控件(TFlowLayout不包含任何TFlowLayoutBreak控件)。

取决于布局的宽度,它看起来像:

// * = control
// Scenario #1: No breaks
* * * *
// Scenario #2: 1 break
* * * 
*
// Scenario #3: 2 breaks
* * 
* * 
// Scenario #4: 3 breaks
*
*
*
*

是否有可能以编程方式检索TFlowLayout的中断次数,或者我只能通过布局的宽度来确定中断次数?

计算控件的Y值的变化,因为数组是按布局顺序排列的。

procedure TForm1.Button1Click(Sender: TObject);
var
Cnt, I : integer;
begin
if FlowLayout1.ControlsCount = 0 then Cnt := 0 else Cnt := 1;
for I := 1 to FlowLayout1.ControlsCount - 1 do
if FlowLayout1.Controls[I-1].Position.Y <> FlowLayout1.Controls[I].Position.Y then inc(cnt);
button1.Text := IntToStr(Cnt);
end;

相关内容

  • 没有找到相关文章

最新更新