#delphi
#delphi
Вопрос:
Может быть, это тривиально (или задавалось ранее, но я не вижу похожих вопросов, потому что мой браузер искажает их все), но как вы программно размещаете метку в положение слева или сверху?
Комментарии:
1. Чтобы выровнять элемент управления , вы можете расположить его вручную и задать его
Anchors
, или вы можете установить егоAlign
свойство (работает нормально для верха и низа). Чтобы задать выравнивание текста внутри элемента управления, используйтеAlignment
для выравнивания по горизонтали иLayout
для выравнивания по вертикали. (Это предполагает VCL.) В этом случае вы, вероятно, захотите отключитьAutoSize
.2. Или вы имеете в виду полностью вручную? Если это так, просто установите
Left
иTop
свойства.3. Я знаю, что могу сделать это вручную, но меня интересует программное обеспечение…
4. Ответ точно такой же. Все эти свойства доступны во время выполнения. (Например,
Label1.Top := 20; Label1.Left := 20
. Вы не сказали, когда вы хотите это сделать, но вOnCreate
обработчике формы это сработает. Или вOnClick
обработчике кнопки. В некоторых случаях вы хотите сделать это в формеOnResize
.)5. тогда спасибо, Андреас…
Ответ №1:
Андреас Рейбранд дал вам пояснения в своих комментариях. Чтобы было понятно, вот реальный пример кода, в котором метка размещается прямо над кнопкой. Я также установил для свойства visible значение TRUE, чтобы метка стала видимой.
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Left := Button1.Left;
Label1.Top := Button1.Top - Label1.Height;
Label1.Visible := TRUE;
end;