Forum: PC-Programmierung Visual C++: WM_DROPFILES


von Nils (Gast)


Lesenswert?

Hallo,

ich möchte in einer Dialog-basierten Visual-C++ 6-Anwendung 
'WM_DROPFILES' elemetspezifisch auswerten.
D.h.: Bei Drop auf ein bestimmtes Element der Klasse CEdit in meinem 
Dialog, möchte ich eine spezifische Aktion ausführen:
WM_DROPFILES auf Control1 -> Handler1
WM_DROPFILES auf Control2 -> Handler2
...

Der übliche Ansatz per OnDropFiles(WPARAM wParam, LPARAM lParam), bzw. 
OnDropFiles(HDROP hDropInfo) bringt mich scheinbar nicht weiter.
Bei folgenden Problemen komme ich nicht weiter:
1) GetDlgItem(ID_des_Steuerelemnts)->DragAcceptFiles(true) löst nicht 
OnDropFiles auf, obwohl WM_DROPFILES in der MESSAGE_MAP aufgenommen ist.
2) Gibt es eine Möglichkeit den Drop-Traget (d.h. das Steuerelement, in 
meinem Fall ein CEdit-Control) in 'OnDropFiles' zu ermitteln? Das wäre 
optimal.
3) Ist der einzig gangbare Weg, konsequent über Handles zu gehen, 
anstatt die Klasse CWnd zu benutzen?

Ich hoffe, ich habe das Problem halbwegs klar umrissen.

Danke & Gruß,
Nils

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Leite eine eigene Klasse von CEdit ab und behandle WM_DROPFILES in 
dieser Klasse und nicht in Deiner Dialogklasse.

von Nils (Gast)


Lesenswert?

Hallo Rufus,

danke für den Tipp - so funktioniert es auf Anhieb.

Gruß,
Nils

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.