From: roger on
I've read all about dragging files INTO Access forms, and dragging and
dropping data between controls on Access forms. I need to do something
different:

MyApp has a subform with a list of files in a folder on the local HD.
Currently I have buttons that opens the file using a Shell() command.

The Users want to be able to drag files out of the list (on the subform in
Access) and into other programs (like Notepad or Word), and have them open
just like you dragged a file there out of windows explorer.

I downloaded modules that “expose that Windows API” before, I'm assuming
this will be of those, but I sure don't know how to write one.

AHA TIA
roger

From: Douglas J. Steele on
I'm not sure it's possible.

You may have to settle for copying to the clipboard and pasting into the
other program.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)


"roger" <roger(a)discussions.microsoft.com> wrote in message
news:EDAFA596-A73A-46FC-910F-ABF06C32E906(a)microsoft.com...
> I've read all about dragging files INTO Access forms, and dragging and
> dropping data between controls on Access forms. I need to do something
> different:
>
> MyApp has a subform with a list of files in a folder on the local HD.
> Currently I have buttons that opens the file using a Shell() command.
>
> The Users want to be able to drag files out of the list (on the subform in
> Access) and into other programs (like Notepad or Word), and have them
> open
> just like you dragged a file there out of windows explorer.
>
> I downloaded modules that "expose that Windows API" before, I'm assuming
> this will be of those, but I sure don't know how to write one.
>
> AHA TIA
> roger
>


From: roger on
Well thanks, I guess. But I'm not willing to except "not possible." Not
yet anyway.

While I realize I cant do it simple Access controls, Drag and Drop is a core
Windows technoloy. Access recieves drag and drop, it got to be in there
someplace.

And if not the Windows API, then how about OLE? Will an OLE control support
drag and drop? and can I control it in VBA?

Or how about a Custom control? (do we still call them ActiveX controls?) VB
applets support drag and drop. Can I make a custom OCX control in VB and
embed that on an Access form?

There's got to be a way...





"Douglas J. Steele" wrote:

> I'm not sure it's possible.
>
> You may have to settle for copying to the clipboard and pasting into the
> other program.
>
> --
> Doug Steele, Microsoft Access MVP
> http://I.Am/DougSteele
> (no e-mails, please!)
>
>
> "roger" <roger(a)discussions.microsoft.com> wrote in message
> news:EDAFA596-A73A-46FC-910F-ABF06C32E906(a)microsoft.com...
> > I've read all about dragging files INTO Access forms, and dragging and
> > dropping data between controls on Access forms. I need to do something
> > different:
> >
> > MyApp has a subform with a list of files in a folder on the local HD.
> > Currently I have buttons that opens the file using a Shell() command.
> >
> > The Users want to be able to drag files out of the list (on the subform in
> > Access) and into other programs (like Notepad or Word), and have them
> > open
> > just like you dragged a file there out of windows explorer.
> >
> > I downloaded modules that "expose that Windows API" before, I'm assuming
> > this will be of those, but I sure don't know how to write one.
> >
> > AHA TIA
> > roger
> >
>
>
> .
>
From: Stuart McCall on
"roger" <roger(a)discussions.microsoft.com> wrote in message
news:94992A3D-6897-4A02-BE34-3C9CA1EAD369(a)microsoft.com...
> Well thanks, I guess. But I'm not willing to except "not possible." Not
> yet anyway.
<snip>

Doug's response gave me an idea. Although I don't have time to hack this out
completely, I can hopefully inspire you to attempt a solution. First you'll
need some way of copying and pasting text:

http://www.smccall.demon.co.uk/MiscApi.htm#Clipboard

Then use a control's MouseDown event to set a module level variable (say
Dragging As Boolean)

In the control's MouseMove event, if Dragging is True, detect when the mouse
cursor is inside the coordinates of the target app. On MouseUp, "drop" the
file (paste it from the clipboard), and reset the Dragging flag.

I can't remember all of the api you'll need offhand, but either you can find
it or maybe someone else on here might be able to jump in with that...


From: roger on
Hi Stuart, At least you're involved in "possiblity thinking."

I've simulated drag and drop in Access before, but that isn't my goal. The
goal here is to actually use Windows drag and drop, and not have to write
custom procedures for every app the user could drop on. (just let windows do
it)

If it helps I'm using MSA 2007 which totally supports drag and drop, you can
drag tables and queries out to excel or word, and drop excel ranges in as
tables, so it IS in there.

If there is really NO way to do it in a form, then I am thinking that a
custom control is the answer. (I can't write one, but I would pay to have it
written) just a transparent button with three events, click, double click and
drag, and programmable value. With no other to drag data out of an Access
app, maybe I could sell the control.

Damn this is fustrating, from what I read, in .Net, this is as simple as
setting .DragBehavoir = enabled.