我想以編程方式檢索TFlowLayout.
我有一個簡單TFlowLayout的內部有 4 個常規控制元件(TFlowLayout不包含任何TFlowLayoutBreak控制元件)。
根據布局的寬度,它看起來像:
// * = control
// Scenario #1: No breaks
* * * *
// Scenario #2: 1 break
* * *
*
// Scenario #3: 2 breaks
* *
* *
// Scenario #4: 3 breaks
*
*
*
*
是否可以以TFlowLayout編程方式檢索中斷的數量,或者我只能離開布局的寬度來確定中斷的數量?
uj5u.com熱心網友回復:
計算控制元件的 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;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/463001.html
