Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2004
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 20
maravert Va por buen camino
Como puedo arrastrar una imagen y soltarla dentro de otra

Hola, que tal,

Alguien podria decirme como puedo arrastrar (drag) una imagen (Timage) y ponerla dentro de otra imagen (Timage).. se los agradeceré enormemente.

Estoy haciendo esto pero la imagen que arrastro al colocarla sobre la otra, la primera no se coloca simplemente desaparece.

Ojala alguien pueda ayudarme.

Gracias por todo.


Alejandro Maraverrt.
Responder Con Cita
  #2  
Antiguo 12-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Me parece que tiene que ver con el orden en que colocaste las imágenes durante el diseño. La imagen que se arrastra la colocaste antes con lo que en un orden vertical queda por debajo de la otra.

Puedes solucionarlo bien cambiando el orden en que colocas las imagenes o bien poniendo

ImagenQueSeArrastra.BringToFront

al momento de soltarla.

// Saludos
Responder Con Cita
  #3  
Antiguo 12-09-2004
maravert maravert is offline
Miembro
 
Registrado: jul 2004
Ubicación: Xalapa, México
Posts: 158
Poder: 20
maravert Va por buen camino
Como colocar una imagen dentro de otra (Drag Drop)

Hola... gracias por tu apoyo, fijate que no sigue saliendo, la imagen no se mueve correctamente.


Aquí les muestro el codigo.


Código Delphi [-]
 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, jpeg;
type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image2DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure Image2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
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

  Image1.BeginDrag(True);
end;
procedure TForm1.Image2DragDrop(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.Image2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
Accept := (Source is TImage);
end;
end.

Espero me puedan auxuliar.

Gracias de antemano

Última edición por roman fecha: 12-09-2004 a las 17:22:38. Razón: Agregar etiqueta [delphi] para legibilidad
Responder Con Cita
  #4  
Antiguo 12-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Estás moviendo la imagen 1, que a juzgar por la declaración de la clase del formulario, parece que se colocó antes que la otra y por eso queda debajo. Tampoco veo el BringToFront.

Por otro lado te puedes ahorrar el BeginDrag poniendo la propiedad DragMode de Image1 en dmAutomatic.

// 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


La franja horaria es GMT +2. Ahora son las 01:05:07.


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