Puedes crear el label asi:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
newImage: TImage;
newLabel: TLabel;
begin
newImage:= Timage.Create(Image1);
with newImage do
begin
picture := Image1.picture;
name := 'MS_' + inttostr(nmesas);
nmesas := nmesas + 1;
Stretch := True;
Parent := Panel1;
Left := 10;
Top := 10;
height := 57;
width := 61;
Transparent := true;
onMouseDown := Image1MouseDown;
onMouseMove := Image1MouseMove;
onMouseUp := Image1MouseUp;
onDblClick := Image1DblClick;
end;
newLabel:= TLabel.Create(self);
with newLabel do
begin
name:= 'L'+newImage.Name;
Left:= newImage.Left;
Top := newImage.Top + newImage.Height + 10;
Caption:= newImage.Name;
Parent:= Panel1;
end;
end;
Y luego puedes moverlo así:
Código Delphi
[-]
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
Lab: TLabel;
begin
if Capturing then begin
TImage(Sender).Left := TImage(Sender).Left - (MouseDownSpot.x - x);
TImage(Sender).Top := TImage(Sender).Top - (MouseDownSpot.y - y);
StatusBar1.Panels[0].Text := IntToStr(TImage(Sender).Left) + ' - ' + IntToStr(TImage(Sender).Top);
TImage(Sender).Hint := StatusBar1.Panels[0].Text;
TImage(Sender).ShowHint := True;
Lab:= FindComponent('L'+TImage(Sender).Name) as TLabel;
Lab.Left:= TImage(Sender).Left;
Lab.Top:= TImage(Sender).Top + TImage(Sender).Height + 10;
end;
end;
Saludos.