Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как сделать так чтобы динамически создаваемый


Автор: denmoroz 17.2.2006, 19:24
Как сделать так, чтобы при нажатии на лейбл (динамически создаваемый) мне возвращались его Top и Left?

Создаю лейбл так:
Код

MyLabel:=TLabel.Create(Form1);
with MyLabel do begin
mylabel.Caption:=form4.Label1.Caption;
mylabel.Left:=x+250;
mylabel.Top:=y+10;
mylabel.Font.Size:=form4.Label1.Font.Size;
mylabel.Font.Color:=form4.Label1.Font.Color;
mylabel.Font.Style:=form4.Label1.Font.Style;
mylabel.Font.Name:=form4.Label1.Font.Name;
mylabel.OnClick:=dragl;
mylabel.Parent := Form1;
end;



А сама процедура-аналог OnClick вот:

Код

procedure TForm1.dragl (Sender: TObject);
begin
end;

Автор: F1reF0x 17.2.2006, 20:50
Код

var
 L: Integer;
 T: Integer;
 S: String;
Begin
 L:= MyLabel.Left;
 T:= MyLabel.Top;
 S:= 'Left:= ' + IntToStr(L) + ' Top: ' + IntToStr(T);
 ShowMessage(S);
End;

Автор: Демо 17.2.2006, 22:56
Лучше так:

Код

procedure TForm1.dragl (Sender: TObject);
begin
   ShowMessage('Left:'+IntToStr(TLabel(Sender).Left)+', Top:'+IntToStr(TLabel(Sender).Top));
end;

Автор: denmoroz 18.2.2006, 19:00
Демо, пасиба! Ты только что помог всей СШ №51 г.Минска!

Автор: Демо 18.2.2006, 20:50
Цитата(denmoroz @ 18.2.2006, 19:00 Найти цитируемый пост)
Ты только что помог всей СШ №51 г.Минска!


я рад;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)