![]() |
Einträge in ListBox verschieben (Drag&Drop)
Wie kann man die Einträge in der ListBox Komponente untereinander verschieben?
|
Keine Ahnung, ob der Code was taugt. hab eich aus meiner Code-Schnipsel-Sammlung:
Code:
by Daniel B; Form.
OnMouseDown:
if Button = mbLeft then begin // Starten des Drag'n'Drop-Vorgangs der playlisteinträge if Playlist.ItemAtPos(Point(x, y), True) > -1 then begin Playlist.BeginDrag(False); end; end; OnDragOver: begin NewItemIndex := Playlist.TopIndex + (Y div Playlist.ItemHeight); if NewItemIndex > Playlist.Items.Count -1 then NewItemIndex := Playlist.Items.Count -1; Playlist.Items.Move(Playlist.ItemIndex, NewItemIndex); Playlist.ItemIndex := NewItemIndex; Hauptfenster.Filelist.Items.Move(Playlist.ItemIndex, NewItemIndex); Hauptfenster.Filelist.ItemIndex := NewItemIndex; Accept := True; end; |
:hi:
schau Dir mal diesen Code an: Ich hatte bei diesem Projekt statt der normalen ListBox die LMDListBox aus den LMD-Tools verwendet, die Vorgehensweise ist jedoch dieselbe.
Code:
:coder:
procedure TMainForm.LMDListBox1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean); begin if Source is TLMDListBox then Accept := true; end; procedure TMainForm.LMDListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); var i: integer; begin i := LMDListBox1.ItemAtPos (Point(x,y),true); if i > -1 then begin LMDListBox1.Items.Move (Zeile ,i); end; end; procedure TMainForm.LMDListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var LPos: integer; begin LPos := LMDListBox1.ItemAtPos (Point(x,y),true) ; if LPos > -1 then begin try Zeile := LPos; LMDListBox1.BeginDrag (false); // sonstwas machen ... except // oder auch nicht... end; end; end; by Daniel B; Form. |
Hi,
Hier findest du auch noch ein Beispiel (mit Autoscroll Funktion) ![]() tom |
Hi
Danke euch. Ich hab die Version von Alfons G genommen. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 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