Drag & Drop
-
Hallo!
Ich möchte gern in ein ListControl(oder so) Dateien per Drag & Drop hineinschieben von dem Desktop zum Beispiel. Es soll von den Dateien bloß der Dateiname eingelesen werden und der Dateiname soll auch im ListControl zu sehen sein. Ist das irgendwie möglich? Wie kann man das realisieren? würde mich über Hilfe freuen, Danke.
-
Keine Idee?
Wenn ich eine Datei in mein ListControl schiebe wird sie nicht angezeigt.Wie kann ich die Datei anzeigen lassen bzw. den Dateinamen?
-
1. DragAcceptFiles für das Fenster ausführen.
2. Eigene Klasse von CListCtrl ableiten und WM_DROPFILES behandeln.
3. Control subclassen
-
Ok danke hat mir schon ein wenig geholfen,
aber WM_Dropfiles gilt doch bloß für das ganze fenster
und nicht bloß für die ListControl oder?Wie kann man das bloß für die ListControl machen?
-
WM_DROPFILES wird an das Fenster gesendet für das Du DragAcceptFiles ausführst.
-
Muss ich da für die ListControl eine eigene Klasse schreiben?
Mit diesem Aufruf
void CTesttoolDlg::OnDropFiles(HDROP hDropInfo)
sprech ich ja bloß das Hauptfenster an, nicht das neue Fenster (zumindest
springt er nicht rein) oder?Wie kann ich das nun machen dass es nur für das ListConrol gilt?
eine membervariable wo ich DragAcceptFiles() ausführe hab ich schon.
-
kannst nicht einfach die mausposition abfragen und schauen ob sich die maus in der list control befindet?
-
Ja das wäre eine Möglichkeit, danke.
Aber vielleicht hat der Martin Richter auch noch eine andere Idee...
-
1. Leite eine eigene Klasse von CListCtrl ab.
2. Implementiere dort Dein Drag&Drop
3. Mach einen normalen Subclass in Deinem Dialog.
4. Führe DragAcceptFiles für dieses ListCtrl durchDas sind MFC-Basics!
-
Ich bin leider auch noch Anfänger in MFC
Was meinst du damit "3. Mach einen normalen Subclass in Deinem Dialog"?
-
Indem Du Deine Klasse diesem List-Control auf dem Dialog als Control-Member zuordnest oder SubclassDlgItem aufrufst.
Ich bin ein ungeeigneter Lehrer für Anfänger... für sowas habe ich keine Geduld uns Muße...