Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2022
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Consulta Sobre Drag and Drop

buenas tardes

estuve revisando este ejemplo

https://neftali.clubdelphi.com/crear...-con-el-raton/

y es una genialidad, se crea en tiempo de ejecucion y se le da un nombre al componente
mis preguntas son las siguientes:

si creo varias imagenes, como se que elemento selecciono?
como asigno un evento onclick a cada imagen ?

intente agregarle un texto a la imagen (debajo de ella), pero el texto lo coloca en top 0 left 0

alguien me da una mano para entender mejor como darle una funcionalidad?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 27-05-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si tienes varias imágenes Sender te da cual es. Si lo conviertes a TImage: TImage(Sender) esa es la imagen. Las puedes distinguir por su nombre: TImage(Sender).Name. Date cuenta que en el ejemplo se le asigna un nombre.


Para agregar un texto puedes usar:
Código Delphi [-]
TImage(Sender).Canvas.TextOut(X,Y, TImage(Sender).Name);




Saludos.
Responder Con Cita
  #3  
Antiguo 27-05-2022
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
perfecto, con TImage(Sender).Name
ya tengo identificado que elemento he seleccionado, y para agregar un evento onclik por ejemplo
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 28-05-2022
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Estoy creando un Tlabel en tiempo de ejecucion para colocar debajo de la imagen un texto (Ejemplo, "sector - 1", "Sector - 2", etc)

lo crea, pero no puedo colocarlo debajo de la imagen o quiza estoy haciendo algo mal o quiza se esta colocando debajo de la imagen y no encuentro la instruccion "Bring to front"
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 28-05-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Drag Drop JuanOrtega Varios 9 16-04-2014 08:00:31
Drag and Drop... dvlt .NET 0 07-02-2008 09:42:59
Drag&Drop sobre un Form gluglu OOP 2 13-07-2007 19:18:20
Drag & Drop DanForever Varios 2 01-06-2006 14:24:25
Drag & Drop cone220 Varios 1 26-05-2003 19:06:34


La franja horaria es GMT +2. Ahora son las 11:36:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi