Avatar billede lwug Nybegynder
09. april 2002 - 14:44 Der er 2 kommentarer og
1 løsning

Drag'n drop en komponent

Hvordan er det man nemmest drag'er og drop'er et billede?
Jeg har prøvet med følgende kode:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  z : integer;
implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  z := 0;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  z := 1;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  z := 0;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if z = 1 then
  begin
  image1.left := x;
  image1.top  := y;
  end;
end;
end.

men det bliver bare til noget lort, og billedet bliver ikke drag'et ordentlig... ja, prøv selv programmet, men hvordan laver jeg nemmest drag og drop til billeder, panels osv.?
Avatar billede hebo Nybegynder
09. april 2002 - 15:06 #1
Prøv at bruge det samme program med tilføj et par variabler der feks. hedder musx,mysy
Tilføj følgende linjer til Image1MouseDown:
  musx := x;
  musy := y;

og så skal du ændre image1mousemove til:
  if z = 1 then
  begin
    image1.left := ((x-musx) )+image1.left;
    image1.top := ((y-musy) )+image1.top;
  end;

det ser i hvert fald noget bedre ud
Avatar billede lwug Nybegynder
10. april 2002 - 12:45 #2
tak, tak tak!!!!!
Det virker jo PERFEKT!
Avatar billede hebo Nybegynder
10. april 2002 - 12:57 #3
Det var så lidt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester