Ja es geht, zumindesten mit IDropTarget. Wenn man in der DropEnter Funktion
abfragt ob Datei oder Verzeichnis.
Delphi-Quellcode:
if DirectoryExists(szBuffer) then
is_Dir:= True
else
is_Dir:= False;
Dann kann man bei DragOver mit
Delphi-Quellcode:
if is_Dir then
dwEffect := DROPEFFECT_NONE
else
dwEffect := DROPEFFECT_COPY ;
Result := S_OK;
das dann dementsprechend auswerten.
So funktioniert es jedenfals bei mir
getestet mit WinXP. Auf Win7 bin ich noch nicht dazu gekommen.
EDIT: Wenn ich MS richtig verstehe(kann leider kein Engl) wird DropEnter vor allem ausgeführt. So kann die Applikation entscheiden was sie damit anfangen will.
Zumal DropEnter und Drop identisch in ihrem Aufruf sind!
Warum allerdings das nirgends in Delphi "OnDragEnter" oder in den Externen Dropper komponenten mit drin ist verstehe ich nicht!?
Gruß alfold