AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drag'n'Drop

Ein Thema von mikegu · begonnen am 18. Okt 2006 · letzter Beitrag vom 20. Okt 2006
Antwort Antwort
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#1

Re: Drag'n'Drop

  Alt 18. Okt 2006, 21:56
@jfheins: warum immer gleich Fremdkomponenten verwenden?

@mikegu: als erstes kann man den Quellcode, den man hier postet per "Delphi-Code"-Button formatieren, so das dieser dann für die Leser schön lesbar ist.

Delphi-Quellcode:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  If Button=mbleft Then
    Panel1.BeginDrag(false) ;
end;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  If Button=mbleft Then
    Button1.BeginDrag(false) ;
end;

procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  If Button=mbleft then
    Panel2.BeginDrag(false);
end;

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  If button=mbleft then
    Label1.BeginDrag(True)
end;


procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  // beim Droppen müssen wir wie beim Ziehen der Komponenten
  // den Typ der Komponente beachten
  // (Typ TPanel, TButton und TLabel)
  if Source is TPanel then
  begin
    TPanel(Source).Left := x;
    TPanel(Source).Top := y;
    TPanel(Source).Parent := TWinControl(Sender);
  end else if Source is TButton then
  begin
    TButton(Source).Left := x;
    TButton(Source).Top := y;
    TButton(Source).Parent := TWinControl(Sender);
  end else if Source is TLabel then
  begin
    TLabel(Source).Left := x;
    TLabel(Source).Top := y;
    TLabel(Source).Parent := TWinControl(Sender);
  end;
end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
  // wir erlauben das Ziehen von Komponenten
  // vom Typ TPanel, TButton und TLabel
  accept := (Source is TPanel) or
            (Source is TLabel) or
            (Source is TButton);
end;
So sollte das ganze funktionieren,
die wesentlichen Änderungen kannst du den Kommentaren im Quellcode entnehmen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz