![]() |
Objekt zwischen zwei Listbox bewegen
hallo,
ich habe eine Anwendung mit mehrere Listboxen. Meine ziel ist es, sowohl die reihenfolge innerhalb ein Listbox ändern als auch objekte in andere Listbox ziehen. Reihenfolge Änderung Innerhalb ein listbox funktioniert aber Objekt in anderem Listboxen ziehen funktioniert nicht. hier ist meine quelle:
Delphi-Quellcode:
onMouseDown von beide stehen: StartingPoint.X := X; StartingPoint.Y := Y;
var
Form3: TForm3; // form level StartingPoint : TPoint; implementation {$R *.dfm} ............................... procedure TForm3.FormCreate(Sender: TObject); begin ListBox_strengths.Items.Add('ich'); ListBox_strengths.Items.Add('du'); ListBox_strengths.DragMode := dmAutomatic; ListBox_themen.DragMode:= dmAutomatic; ListBox_themen.Items.Add('mo'); ListBox_themen.Items.Add('no'); Listbox_themen.MultiSelect:=true; end; procedure TForm3.ListBox_themenDragDrop(Sender, Source: TObject; X, Y: Integer); var DropPosition, StartPosition, I: Integer; DropPoint: TPoint; a: string; 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; if Source is TListBox then begin for i := 0 to TListBox(Source).Items.Count-1 do if TListBox(Source).Selected[i] then a:= ListBox_themen.Items.Strings[i]; ListBox_strengths.Items.Add(a); end; end; procedure TForm3.ListBox_themenDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source = ListBox_themen; if Source is TListBox then begin accept:= true; end; end; ...................................................................... procedure TForm3.ListBox_strengthsDragDrop(Sender, Source: TObject; X, Y: Integer); var DropPosition, StartPosition, I: 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; if Source is TListBox then begin for i := 0 to TListBox(Source).Items.Count-1 do if TListBox(Source).Selected[i] then ListBox_strengths.Items.Add(TListBox(Source).Items[i]); end; end; procedure TForm3.ListBox_strengthsDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source = ListBox_strengths; if Source is TListBox then begin accept:= true; end; end; weisst jemand, wo das Problem liegen kann? grüß poter |
Re: Objekt zwischen zwei Listbox bewegen
Du kannst gleich nochmal neu anfangen.
Wähle im Delphi-Menü: Datei -> Neu... -> Formulare -> Dialog mit zwei Listenfeldern Und du hast eine Vorlage mit der ganzen Drag & Drop Funktionalität. |
Re: Objekt zwischen zwei Listbox bewegen
Auch hier gilt : braucht man so was nochmals dann unten auf "vererben" klicken. Dann braucht man seine gemachten Einstellungen/Änderungen nicht wieder komplett neu zu machen (Objektablage). Würde das von vorneherein als vererbt deklarieren, denn wer weiß ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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