trapping drag and drop

trapping drag and drop

Anonymous
Not applicable
1,429 Views
6 Replies
Message 1 of 7

trapping drag and drop

Anonymous
Not applicable
Is there a way to trap drag-and-drop INTO an AutoCAD window using the C# API? For example, I want to customize AutoCAD's behavior when I'm dropping in i-drop content from IE.

thanks in advance, Chuck
(Hi Albert!)
0 Likes
1,430 Views
6 Replies
Replies (6)
Message 2 of 7

Anonymous
Not applicable
Since, Autodesk hasn't wrapped the following globals:

acedRegisterCustomDropTarget(IDropTarget*);
acedRevokeCustomDropTarget();

It looks like a no go. Any suggested hacks would be appreciated...

Chuck
0 Likes
Message 3 of 7

Anonymous
Not applicable
These functions should not be used anymore. You should use
acedStartOverrideDropTarget, acedEndOverrideDropTarget instead.
We do wrap these 2 on the .NET API but the manner we do will make it
difficult to use them the way you want them. Look at the
Autodesk.AutoCAD.ApplicationServices.Application.DoDragDrop function. We
only allow you to override the drop target for the duration of DoDragDrop.

Albert

wrote in message news:[email protected]...
Since, Autodesk hasn't wrapped the following globals:

acedRegisterCustomDropTarget(IDropTarget*);
acedRevokeCustomDropTarget();

It looks like a no go. Any suggested hacks would be appreciated...

Chuck
0 Likes
Message 4 of 7

Anonymous
Not applicable
How do I initiate a DoDragDrop when the origin of the drag-and-drop is coming from an external app (for example, dragging i-drop content from IE)? Do I need to do something funky with PointFilter/PointMonitor?

thanks, Chuck
0 Likes
Message 5 of 7

Anonymous
Not applicable
I don't think it is possible. You will have to fall back to C++ or
(P/Invoke). We probably want to provide an event where you can hook the drop
target even when you didn't initiate the drag. I have this logged as a wish
list item.

albert

wrote in message news:[email protected]...
How do I initiate a DoDragDrop when the origin of the drag-and-drop is
coming from an external app (for example, dragging i-drop content from IE)?
Do I need to do something funky with PointFilter/PointMonitor?

thanks, Chuck
0 Likes
Message 6 of 7

Anonymous
Not applicable
I've already pretended to be a C++ programmer again. Thanks. However, perhaps this isn't the forum for this question, but since it is related, I'll go ahead and describe another thing that has come up:

After I load the sample, arxdragdrop, drag-and-drop from external apps into ACAD seems to be broken. When I drag i-drop content in after loading the arx app, I get a menu with the items 'List Files' and 'Cancel' instead of the drag-and-drop sequence (it works fine BEFORE loading the arx app). It seems to be going through the droptarget.cpp code WITHOUT a call to acedStartOverrideDropTarget() that only gets called when initiating a drag-and-drop from the arx-created window.

thanks in advance, Chuck
0 Likes
Message 7 of 7

Anonymous
Not applicable
Never mind. I assumed that it was aced{Start,End}OverrideDropTarget()/aced that was dealing with external drag-and-drops, but it is aced{Add,Remove}DropTarget().
0 Likes