MDI: Drag&Drop für Dateien deaktivieren

Frarr

Mitglied
Hallo,
ich habe folgendes Problem:

In meiner MDI kann ich Dateien in meine Fenster ziehen, wo diese dann als Icons angezeigt werden und was ich garnicht möchte. Gibt es eine Möglichkeit dies zu unterbinden, aber trotzdem noch einfachen Text in das Fenster kopieren zu können?

Bin für jeden Tipp dankbar. :)

Frarr
 
Hi,
danke für den Tipp.
Ich wende "DragAcceptFiles" in OnActicateView an und habe QueryAcceptData überschrieben, so dass ich E_POINTER zurückgebe. Zusammen hat das den gewünschten Effekt keine Dateien anzunehmen, aber leider auch keine Texte.


Gibt es einen Weg herauszufinden ob ein IDataObject (was in QueryAcceptData übergeben wird) einen Text oder eine Datei enthält?

Wenn ich diese Info hätte, könnte ich bei Texten die Funktion QueryAcceptData ohne fehler zurückgeben und so Texte zulassen.

Gruß
Frarr
 
Zuletzt bearbeitet:
Hmm, kannst du den WM_DROPFILES/OnDropFiles-Handler nicht überschreiben und dort einen Fehler zurückgeben. Meines Wissens nach ist WM_DROPFILES ja nur für Dateien gebaut; d.h. wenn der zuerst greift, und du den abbrichst, sollte Text normal akzeptiert werden können.

Über das IDataObject klingt QueryGetData nach einer Möglichkeit; da kannst du prüfen, ob ein bestimmtes Format ausgelesen werden kann. Da müsste sich ja bei Dateien von dem CF_TEXT FORMATETC unterscheiden.
 
Zuletzt bearbeitet:
Über QueryGetData kann ich mir die gewünschten Informationen holen und so das paste & drop von Dateien unterbinden, jeodoch von Texten zulassen.

Merci beaucoup!! :)
 

Neue Beiträge

Zurück