動的に作成されたTHTMLabelをいくつも作成していますが、作成した後、高さを取得しようとすると常にデフォルトの高さの値が返されます。ここで動的に作成された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'をデフォルト値の8よりもかなり大きい18に設定しているので、' Autosizing'を設定すると 'Height'の値が高くなると期待しています'True'に設定すると、作成されたコンポーネントの実際の' Height'値がデフォルト値より大きくなるはずです。私は正しい? – jhodzzz
これは、フォントサイズを変更する前に自動サイズ設定をtrueに設定する必要がある場合がありますか? –