Delphi FireMonkey FlowLayout是';t根据visible属性刷新项目
你好吗?希望你一切顺利。 我的问题:我有一个FlowLayout,里面有很多布局,我需要根据单选按钮选择隐藏一些,在设计时它工作正常,我将visible属性设置为false,所有其他布局都以正确的方式重新对齐,但当我在运行时这样做时它不工作,它在已隐藏的布局和下一个布局之间保持白色间隙。当我手动调整大小(转到窗体边框并拖动一点)时,它会重新调整大小并获得正确的结果,但是如果我选择另一个收音机,则布局会返回并覆盖另一个布局,因此我需要再次手动调整大小以重新调整大小。我试图查看Resize的源代码,但没有得到任何相关信息。我尝试的是:重新油漆、重新排列、竖立、重新处理。我有没有办法强制刷新组件Delphi FireMonkey FlowLayout是';t根据visible属性刷新项目,delphi,firemonkey,Delphi,Firemonkey,你好吗?希望你一切顺利。 我的问题:我有一个FlowLayout,里面有很多布局,我需要根据单选按钮选择隐藏一些,在设计时它工作正常,我将visible属性设置为false,所有其他布局都以正确的方式重新对齐,但当我在运行时这样做时它不工作,它在已隐藏的布局和下一个布局之间保持白色间隙。当我手动调整大小(转到窗体边框并拖动一点)时,它会重新调整大小并获得正确的结果,但是如果我选择另一个收音机,则布局会返回并覆盖另一个布局,因此我需要再次手动调整大小以重新调整大小。我试图查看Resize的源代码,
procedure
TFrmApontamentoProducaoOrdemProducao.rbOrdensProducaoQuantidadeParcialClick(
Sender: TObject);
begin
if not lytQuantidadeParcial.Visible then
lytQuantidadeParcial.Visible := True;
// Tried to realign here
end;
procedure
TFrmApontamentoProducaoOrdemProducao.rbOrdensProducaoQuantidadeTotalClick(
Sender: TObject);
begin
if lytQuantidadeParcial.Visible then
lytQuantidadeParcial.Visible := False;
// Tried to realign here
end;
这是一个简单的代码,但它给了我一个小问题。感谢您的帮助,如果您需要更多代码或更多详细信息,请告诉我。您必须使用一对
FlowLayout1.BeginUpdate代码>和FlowLayout1.EndUpdate
为确保更新计数器保持同步,还应使用try..finally..end
块
比如说
procedure TForm21.Button6Click(Sender: TObject);
begin
FlowLayout1.BeginUpdate;
try
Layout3.Visible := not Layout3.Visible;
finally
FlowLayout1.EndUpdate;
end;
end;
请显示您尝试过的内容(因为注释掉的行是可以的)。例如,你到底想重新粉刷什么?非常感谢你,汤姆。我尝试了很多方法来更新视觉效果,但没有一个奏效。我真的很感激。