Ver Mensaje Individual
  #5  
Antiguo 28-05-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
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.
Responder Con Cita