I have a few controls (namely, TDBChart
) inside a TFlowPanel
. When the user clicks on one of them, I'd like it to fill the entire flow panel
's client area. But, it seems that changing the visible
and align
property of child controls inside a flow panel
at run time doesn't have any effect. Is there a special trick to this? I found the Realign()
method, but it doesn't seem to have any effect on the control's layout. Here's the code to my OnClick
event:
var
AChart: TDBChart;
V: Boolean;
i: Integer;
begin
AChart := TDBChart(Sender);
if AChart.Align = alNone then
begin
V := False;
AChart.Align := alClient;
end else begin
V := True;
AChart.Align := alNone;
end;
for i := 0 to FlowPanel1.ControlCount - 1 do
if FlowPanel1.Controls[i] is TDBChart then
if FlowPanel1.Controls[i] <> AChart then
FlowPanel1.Controls[i].Visible := V;
end;
The charts are hidden or shown as expected, but ADBChart
doesn't fill the entire flow panel
's client area.