如何滚动TFlowPanel的内容?

问题描述 投票:6回答:3

TFlowPanel的Delphi实现 TFlowPanel 控件似乎缺少C#版本的一个重要功能,即在C#版本中的功能。AutoScroll 一。

C#控件与 AutoWrap= FalseAutoScroll=True 横行霸道 可滚动 控件的列表。

我如何才能模仿C#版控件的行为?

谢谢,阿林

P.S.我知道我可以用 TScrollBox 以获得这种行为,但 TFlowPanel (在不残缺的版本中)允许更多的灵活性。

delphi delphi-2010 vcl
3个回答
10
投票

创建你的 TFlowPanel 里面 TScrollBox,具有以下属性。

  • Align : alLeft
  • AutoSize : TRUE
  • AutoWrap : FALSE

我想这应该会让你得到你想要的行为。


4
投票

如果你想垂直滚动,将

FlowPanel1.Align := alTop;
FlowPanel1.AutoSize := True;
FlowPanel1.AUtoWrap := False;

0
投票

对于正在寻找工作的垂直滚动方法的人来说。

procedure TfrmSample.FixVerticalScroll(const AFloatPanel: TFloatPanel);
begin
  fFloatPanel.Align := alTop;
  fFloatPanel.AutoSize := True;
  fFloatPanel.AutoWrap := True;
  fFloatPanel.OnResize := OnFlowPanelResize;
end;

procedure TfrmSample.OnFlowPanelResize(Sender: TObject);
begin
  // Fix: otherwise panel is not operating on the full width
  fFloatPanel.Align := alClient;
  fFloatPanel.Align := alTop;
end;
© www.soinside.com 2019 - 2024. All rights reserved.