Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ListBox DragDrop !?! (https://www.delphipraxis.net/97565-listbox-dragdrop.html)

poterp 12. Aug 2007 22:06


ListBox DragDrop !?!
 
hallo, ich möchte objekte bzw. texte innerhalb einer Listbox. ich habe folge code gefunden:
Delphi-Quellcode:
var // form level
   StartingPoint : TPoint;

implementation

...

procedure TForm1.FormCreate(Sender: TObject) ;
begin
   ListBox1.DragMode := dmAutomatic;
end;

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer) ;
var
   DropPosition, StartPosition: Integer;
   DropPoint: TPoint;
begin
   DropPoint.X := X;
   DropPoint.Y := Y;
   with Source as TListBox do
   begin
     StartPosition := ItemAtPos(StartingPoint,True) ;
     DropPosition := ItemAtPos(DropPoint,True) ;

     Items.Move(StartPosition, DropPosition) ;
   end;
end;

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

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ;
begin
   StartingPoint.X := X;
   StartingPoint.Y := Y;
end;
ich bekomme ein fehler und zwar: incompatibles types "Point und integer"
kann mir jemanden helfen?
grüß
Poter

_frank_ 13. Aug 2007 17:13

Re: ListBox DragDrop !?!
 
Liste der Anhänge anzeigen (Anzahl: 1)
an welcher stelle bekommst du den fehler?

hab deinen code mal genommen und bekomme keinen Fehler (D3,D7), funktioniert wie erwartet...
übrigends die variable gehört in den gültigkeitsbereich des Forms :) sowas sollte man nicht unbedingt global definieren...

Delphi-Quellcode:
  TForm1 = class(TForm)
  ...
  private
    { Private-Deklarationen }
    StartingPoint : TPoint;
evtl. liegt der fehler woanders?

mal mein projekt mit deinem Code für compilierversuche im Anhang und zur Ergänzung meine Implementierung (falls die compilierung, warum auch immer, bei dir nicht funktionieren sollte):
http://www.fw-web.de/download.php?fi...ropListbox.zip

Gruß Frank

poterp 13. Aug 2007 21:27

Re: ListBox DragDrop !?!
 
Danke Frank,
durch deine beispiele ist meine nächste frage beantwortet. Nun hätte ich noch eine andere Frage:
gibt es die möglichkeit in der Listbox1 mehrere objekt zu makieren und zu Listbox2 zuziehen???

danke poter

Hawkeye219 13. Aug 2007 21:34

Re: ListBox DragDrop !?!
 
Hallo poter,

in der CodeLib findest du etwas: klick.

Gruß Hawkeye

poterp 13. Aug 2007 22:48

Re: ListBox DragDrop !?!
 
Hallo Frank, ich habe deine quelle gedownloadet, ich verstehe eins nicht. alles bezieht sich auf den Listbox1. wie ist es denn wenn man mehrere Listboxen einfügen möchte?
was soll man in der quelle ergänzen??
grüß
poter

_frank_ 13. Aug 2007 23:31

Re: ListBox DragDrop !?!
 
der download link von meiner Webpage enthält dieses Feature schon, dort wird der sender/source ausgewertet (und auf TListbox gecasted, um an die Listbox-eigenschaften/Methoden zu kommen)...
das andere ist ja nur mein Testprojekt mit deinem Source, so als vergleich, da bei mir ja kein Fehler kam

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz