Einzelnen Beitrag anzeigen

Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Virtual Treeview und Drag'n'Drop

  Alt 23. Dez 2007, 17:22
Zitat von ManfredG:
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
Uiui, das klingt aber irgendwie, naja, sehr umständlich (der Hook besonders). Es muss doch irgendwie mit Bordmitteln zu lösen sein. Ich werd' wahnsinnig

Grüße & Hilfe,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat