Einzelnen Beitrag anzeigen

ManfredG

Registriert seit: 12. Feb 2007
Ort: Berlin
34 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Virtual Treeview und Drag'n'Drop

  Alt 23. Dez 2007, 14:48
hi max,
ich habe etwas ähnliches, verwende aber zum kopieren / verschieben im gleichen prog nicht OLE.

Folgendes prinzip:
im quellensteuerelement wird mit OnMouseDown festgehalten, wo die maustaste gedrückt wird.
gleichzeitig gehen die daten, die zu verschieben sind in einen record (als zwischenspeicher).
dann überprüfe ich in OnMouseMove, ob die maus bei gedrückter taste gezogen wird.
entfernt sich die maus um einen bestimmten betrag von der stelle, wo geklickt wurde, wird im record ein kennzeichen gesetzt, daß einen dragoperation im gange ist.

wird nun die maustaste im zweiten steuerelement losgelassen, so kann man dort erfahren, daß sie aus dem ersten steuerelement gezogen wurde. der punkt, an dem sie losgelassen wurde ist das ziel und dorthin werden die daten aus dem record übernommen.

das ganze funktioniert ohne alle drag&drop-methoden.
nur noch eine kleine ergänzung ist sinnvoll: ich setze einen HOOK für die maus, um von jeder stelle zu erfahren, ob die maus gehengelassen wurde. letzteres hat zur folge, daß im record das kennzeichen zurückgesetzt wird, durch das man erfährt, daß eine dragoperation im gange ist.

manfred
Manfred Götze
  Mit Zitat antworten Zitat