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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
Arrastrar y Soltar

Hola a todos, he leido varios hilos de Drag & Drop y se ve algo complejo, he buscado en Gugle y he encontrado algo bastante sencillo.

Paso a contar, tengo una aplicacion que el usuario va a configurar a su necesidad ciertas imagenes en un panel contenedor colocandolas en la posicion que mejor le queden a su configuracion.

Para eso encontre este codigo que con una imagen anda de maravillas:


Código Delphi [-]
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TImage then
 begin
    TImage(Source).Left := X;
    TImage(Source).Top := Y;
 end;
 
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := (Source is TImage) ;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if ssCtrl in Shift then Image1.BeginDrag(True) ;
end;

end.


Bien, pense, si esto funciona tambien podria funcionar esto: (le agregue un TPanel) y con el TPanel la imagen no funciona y el panel se mueve de maravillas !

Código Delphi [-]
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TImage then
 begin
    TImage(Source).Left := X;
    TImage(Source).Top := Y;
 end;
 
 if Source is TPanel then
 begin
    TPanel(Source).Left := X;
    TPanel(Source).Top := Y;
 end;
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := (Source is TImage) ;
  Accept := (Source is TPanel) ;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if ssCtrl in Shift then Image1.BeginDrag(True) ;
end;

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if ssCtrl in Shift then Panel1.BeginDrag(True) ;
end;

end.


Pues que no estoy viendo para poder mover el panel y la imagen en el mismo form o dentro de un mismo panel?

Es mas necesito mover como 8 imagenes y por lo menos 4 paneles pero por que no lo puedo hacer con varios componentes?

"Ya verifique el DragMode, con solo la imagen o solo el panel funciona ok, pero con estos dos componentes solo funciona el panel"

Alguna idea? Gracias de antemano y un abrazo.

Javier
Responder Con Cita
 



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
Arrastrar y soltar en un TreeView Gabriel2 OOP 3 09-12-2005 13:57:03
Arrastrar y soltar en un TreeView... User_baja1 Varios 1 18-04-2005 13:39:50
Arrastrar y soltar con DBGrids NickName Varios 2 22-03-2005 02:20:03
Arrastrar y Soltar!!! chechu Varios 6 21-10-2004 20:26:35
arrastrar y soltar imagen haZe Varios 2 03-03-2004 17:06:10


La franja horaria es GMT +2. Ahora son las 11:43:54.


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