Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2006
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
Question Agregar y Arrastrar como en Tiempo de Diseño?

Foro, mi duda y consulta es la siguiente ¿se puede agregar un edit (cajita de texto) y arrastrarlo por el formulario cuando un programa esta en ejecucion ¿Como? alguna idea ¿ puede implementarse ? si pueden un ejemplo sencillo y cortito.
Un Abrazo.
Responder Con Cita
  #2  
Antiguo 31-01-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Supongo que habrá mejores formas de hacerlo, pero puedes utilizar las propiedades y eventos relacionadas con arrastrar y soltar (propiedades Drag... y OnDrag...).

Aquí te pongo un ejemplo muy sencillito:
Código Delphi [-]
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer);
  end;
  
implementation

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if Source = Edit1 then
    Accept := True;
end;

procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  if Source = Edit1 then
    with Edit1 do
    begin
      Left := X;
      Top := Y;
    end;
end;

(Para que el ejemplo funcione tienes que poner la propiedad DragMode del componente Edit1 a dmAutomatic).

Saludos!

P.D: Se me había pasado que tambien preguntabas el tema de "agregar", para ello tendrías que crear el componente en tiempo de ejecución (lo único es que tendrías que decidir cuando "crearlo").

Última edición por jmariano fecha: 31-01-2006 a las 13:23:58.
Responder Con Cita
  #3  
Antiguo 31-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En cualquiera de éstos dos hilos (por no buscar más) puedes ver cómo se crea un TEdit en ejecución:
http://www.clubdelphi.com/foros/showthread.php?t=20088
http://www.clubdelphi.com/foros/showthread.php?t=19465

También tienes demos de cómo crear controles en ejecución aquí.

Para moverlo en ejecucion puedes hacerlo como te han dicho o utilizar éste componente de mi Web TSelectOnRuntime, que sirve justo para eso, para mover y redimensionar componentes en ejcución;
Puedes descargarlo junto con la demo de aquí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 31-01-2006
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
Question lo he probado yyyyyyyy?

Hola de nuevo he probado lo de Jmariano y nada la cajita de texto se queda en su lugar , no puedo arrastrarla por el formulario y tampoco puedo cambiarle su tamaño¿ que podra ser?
Un Abrazo
Responder Con Cita
  #5  
Antiguo 31-01-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El código de Mariano debería ir bien para cambiar la posición del "TEdit" con el ratón, arrastrándolo por el formulario. Pero, en todo caso, después de probar el componente que refiere Neftalí creo que podría irte bastante bien. ¿Lo comprobaste?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 31-01-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Cita:
Empezado por jam888
Hola de nuevo he probado lo de Jmariano y nada la cajita de texto se queda en su lugar , no puedo arrastrarla por el formulario y tampoco puedo cambiarle su tamaño¿ que podra ser?
Acuérdate de especificar en la propiedad DragMode del componente Edit1 el valor dmAutomatic para que funcione (por defecto está a dmManual).

De todas formas, como te dice dec, fíjate en el componente de Neftali que es más completo.

Saludos!
Responder Con Cita
  #7  
Antiguo 31-01-2006
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Poder: 20
jam888 Va por buen camino
Question ok, ahora si

Ahora si marcha bien lo de Jmariano, lo que me queda es por cambiarle el tamaño tambien al edit ¿Como?. El tema es que no puedo incorporar componentes, si no ya tendria resuelto todo. Gracias por el tiempo dedicado.
¿ahora como puedo cambiarle el tamaño? Un Abazo.
Responder Con Cita
  #8  
Antiguo 30-03-2007
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 22
marcial Va por buen camino
Habria algo de esto para D5 ??
Gracias
Marcial
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
en Rave como agregar un direct data view? Pascual Montes Impresión 2 08-06-2005 02:45:04
agregar una atributo en tiempo de ejecución seken Conexión con bases de datos 6 21-10-2004 23:21:03
Como agregar una banda en tiempo de ejecucion en otra pagina edo Impresión 2 29-07-2003 01:07:12
Como configurar un alias en el DataBaseDesktop, pero por codigo (tiempo de ejecución) hhuillcen Conexión con bases de datos 1 14-06-2003 06:16:45
Agregar una impresora en tiempo de ejecucion fanon Impresión 1 26-05-2003 10:16:20


La franja horaria es GMT +2. Ahora son las 16:10:53.


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