Добавление компонента в пользовательские стили Firemonkey во время выполнения
Я делаю собственный список для firemonkey. Там я настроил TSeachBox. В моем собственном стиле есть TRectangle, где мне нужно добавить TLabel во время выполнения.
Я могу добавить этикетки во время разработки. Но я не могу видеть все этикетки, которые добавляются во время разработки в этом TRectangle. Я правильно установил родителя и владельцев всех ярлыков.
Любая идея?
ниже код:
procedure TCustomListBox.ColumnsChanged(Sender: TObject);
var
lPanel : TPanel;
lLabel: TLabel;
iCount : Integer;
begin
if Assigned(FSearchBox) then
Begin
if FSearchBox.FindStyleResource('headerstyle') <> nil then
lPanel := FSearchBox.FindStyleResource('headerstyle') as TPanel;
if Assigned(lPanel) and (lPanel is TPanel) then
begin
//Clear all the columns except whose Tag = 1
for iCount := lPanel.ChildrenCount - 1 downto 0 do
begin
if Assigned(lPanel.Children[iCount]) then
begin
if (lPanel.Children[iCount]).Tag = 0 then
lPanel.Children[iCount].Free;
end;
end;
iXPosition := 45;
//FColumns1 is columns which needs to be added.
for iCount := 0 to FColumns1.Count - 1 do
begin
FLabel := TLabel.Create(lPanel);
FLabel.Parent:= lPanel;
FLabel.Name := 'Col' + IntToStr(iCount);
FLabel.Visible := True;
FLabel.Position.X := iXPosition;
FLabel.Align := TAlignLayout.alLeft;
FLabel.Text := FColumns1[iCount].ColumnHeaderText;
FLabel.Width := FColumns1[iCount].ColumnWidth;
iXPosition := iXPosition + FColumns1[iCount].ColumnWidth;
end;
end;
End;
end;