Datenaustausch CListCtrl -> CTreeCtrl

Baron Sengir

Mitglied
Hi,

nun mein letztes Problem für heute wobei ich Eure Hilfe benötige:

ich habe viele Daten in einem CListCtrl für den User aufbereitet. Nun soll er auf ein Element klicken können und per Drag'n'Drop dieses Item auf ein CTreeCtrl ziehen können, das dieses Item dann aufnimmt. Klar was ich meine?

Wie mache ich sowas?

Beide Ctrls befinden sich im selben Dialogfeld und ich habe auch entsprechende Membervariablen angelegt.

Ich nutze übrigens VC++ 2005 mit MFC

Liebe Grüße
Markus
 
Ich habe das mal so gemacht, daß ich die WM_LBUTTONDOWN Nachricht abgefangen habe, dann das unter dem Mauszeiger liegende Item identifiziert und mir dieses sowie die Mausposition gemerkt habe.
In der Behandlungsmethode für WM_MOUSEMOVE habe ich dann mit SetCapture(...) die Maus 'gekapert', so daß alle Mausnachrichten auf mein Fenster gegeben wurden, auch, wenn sie außerhalb des Fensters war. Wenn die Maus mehr als 3 Pixel bewegt wurde, habe ich das Item kopiert. Außerdem habe ich da noch eine Einfügemarke mitgeführt.
Im OnLButtonUp habe ich das Item dann an die Stelle der Einfügemarke kopiert.

Das war's im Groben. Ich habe damit allerdings nur eine Verschiebung von Items innerhalb eines TreeControl realisiert. Aber es sollte kein großes Problem sein, das Verschieben von einem ListControl auf ein TreeControl genauso zu machen, solange die beiden Controls im gleichen Fenster sind.
 
Hi, Danke für die Tipps.

Klingt nicht einfach. Werde mal schauen, ob ich hin bekomme, allerdings werde ich vermutlich erst Ende nächster Woche dazukommen. Leider.

Liebe Grüße
 
Freut mich, daß ich etwas helfen konnte.
btw: Das heißt jokey2, nicht jockey2. Ich kann nämlich nicht besonders gut reiten :)
 
Zurück