TreeView bei Drag&Drop auch Item beim Verschieben anzeigen?



  • Hi an alle!

    Ich bastelle nun schon seit längerem an einem Programm mit Treeview.
    Das hat auch alles super funktioniert. Nun wollte ich es Drag&Drop fähig machen, auch das hat geklappt. Nur leider wenn ich ein Item Dragge, dann sieht man nicht das ich es ziehe. Wie soll ich das Beschreiben, am Mauszeiger tut sich nicht, also das Item klebt nicht am Mauszeiger.

    Aber z.B. beim Explorer ist es so.

    Ich wäre dankbar für alle Vorschläge, Lösungen und Ideen, wie ich das erreiche.
    (Ach ja, alle Item sind Selbst gezeichnet, sprich werden von meinem Programm und nicht vom Treeview automatisch gezeichnet.)

    Vielen Dank für die Mühe

    Euer
    Stephan



  • Das sagt die MSDN dazu:

    Sie erhalten ein Bild, das während des Ziehvorgangs angezeigt wird, indem Sie die Memberfunktion CreateDragImage aufrufen. Das Strukturansicht-Steuerelement erstellt eine Ziehbitmap, basierend auf der Bezeichnung des gezogenen Elements. Anschließend erstellt das Strukturansicht-Steuerelement eine Bildliste, fügt die Bitmap hinzu und gibt einen Zeiger auf das CImageList-Objekt zurück

    Es muss Code bereitgestellt werden, der zum Ziehen des Elements verwendet wird. Hierzu müssen Sie in der Regel die Zieheigenschaften der Bildlistenfunktionen verwenden und die Meldungen WM_MOUSEMOVE, WM_LBUTTONUP (oder WM_RBUTTONUP) verarbeiten, die gesendet wurden, nachdem der Ziehvorgang begonnen hat. Weitere Informationen über die Bildlistenfunktionen finden Sie unter CImageList in der MFC-Referenz und unter Image Lists (nur auf Englisch verfügbar) im Platform SDK. Weitere Informationen über das Ziehen eines Elements eines Strukturansicht-Steuerelements finden Sie unter Dragging the Tree View Item (nur auf Englisch verfügbar), ebenfalls im Platform SDK.

    Auf API übersetzt, heisst das, schau Dir mal TVM_CREATEDRAGIMAGE an



  • ah, deutsch ist ja total schrecklich in solchen Dokumentationen. 😉


Anmelden zum Antworten