Я создаю несколько динамически созданных THTMLabels, но после их создания, когда я пытаюсь получить его высоту, он всегда возвращает значение высоты по умолчанию.Динамически созданный THTMLabel.Height всегда возвращает значение по умолчанию?
Вот мой код:
for i := 0 to ASentencePtr^.MUS.Count - 1 do
begin
j := Random(slTemp.Count);
sSen := ASentencePtr^.MUS.Strings[StrToInt(slTemp.Strings[j])] + '/';
THTMLabel.Create(Self).Name := 'lblSen_' + slTemp.Strings[j];
with THTMLabel(FindComponent('lblSen_' + slTemp.Strings[j])) do
begin
Font.Size := 18;
Font.Style := [fsBold];
Parent := FlowPanel1;
Width := Parent.Width;
Cursor := crHandPoint;
DragMode := dmAutomatic;
ControlStyle := ControlStyle + [csDisplayDragImage];
HTMLText.Add(sSen);
Autosizing := True;
end;
slTemp.Delete(j);
end;
Теперь, когда я пытаюсь получить доступ к THTMLabel (FindComponent («lblSen_0»)) Рост, он возвращает только значение по умолчанию, которое 17. Где я не так.? Кто-нибудь думает? Любая помощь очень ценится, спасибо.
Я не знаю, что это за 'THTMLLabel', это не часть стандартного Delphi. Я заметил, что вы установили 'Autosizing' как' True'. Не могли бы вы объяснить, почему вы ожидаете значения «Высота», кроме 17? –
Спасибо за ответ. Я ожидаю более высокого значения для 'Height', потому что, как вы можете видеть, я установил' Font.Size' в 18, что больше, чем значение по умолчанию, равное 8, поэтому с настройкой 'Autosizing' на 'True', фактический' Height' созданного компонента должен быть больше его значением по умолчанию. Я прав? – jhodzzz
Возможно, это один случай, когда перед изменением размера шрифта вы должны установить autosizing в true? –