Drag&Drop



  • Hallo, also ich habe meinem Window per OleDropTarget die möglichkeit gegeben auf Drag&Drop zu reagieren. Nun habe ich meinem ListCtrl mit AcceptFiles auch diese möglichkeit gegeben. Wenn ich nun m_pDropTarget.Register(this); mache und dann eine Datei in das fenster ziehe über mein ListCtrl wird der Cursor dem entsprechend geändert verlasse ich nun das ListCtrl ändert er sich aber nciht wieder in dieses NO symbol. Ich muss erst über die statuszeile oder die toolbar gehen bevor er mekrt das er hier nicht droppen kann. Wenn ich Register weglasse dann funktioniert das ohne probleme. Wie kann ich das beheben???
    Danke im voraus.



  • Hm, ist schon ein weilchen her, das ich mit Drag & Drop gearbeitet habe aber in deinem , von OleDropTarget abgeleitetem, Objekt kannst musstest du ja irgendwie die Funktionen für Over, Move, Drop und leave überschreiben. Auf die Leave müssest du dann wohl entsprechend reagieren. Irgendwie so;)



  • Ne das funktioniert nicht den das ListCtrl hat diese nachrichten nicht. Außerdem soll ja die Drag Operation nicht abgebrochen werden sondern es soll nur wieder der staus auf das Hauptfenster gelegt werden. Denn wenn ich das richtig sehe behält das ListCtrl aus irgend einem grund den focus. Denn wie gesagt erst wenn ich auf den Status oder toollbar gehe oder auf den title des Hauptfensters wird der cursor wieder geändert. Das komische ist das ich ja weis das ich nciht mehr über dem ListCtrl bin da ich mit WindowFromPoint weiß über welchem fenster ich bin. Nur kriege ichs net hin das das ListCtrl den focus verliert 😞



  • Ich meinte eigentlich keine Message von CListCtrl sondern die virtuellen Members von COleDropTarget. siehe hier



  • Man, das ich da nicht gleich selber druf gekommen bin 🙂 Hab jetzt ne klasse abgeleitet und die Funktionen überschrieben alle sklappt. Allerdings scheint es nciht bei Dialog Anwendungen zu funktionieren aba habe da ncihts weiter probiert. Also vielen dank nochmal.



  • Gern geschehen. Freut mich wenn ich dir helfen konnte.


Anmelden zum Antworten