On Sep 3, 2006, at 6:41 PM, Mark Nutter wrote:
--- Robert Poland <[EMAIL PROTECTED]> wrote:
Hi,
I want to be able to Drag & Drop a file on my app and have it
opened.
I have set AcceptFileTypes to accept text files.
I have a method that when selecting Open from the Menu Bar a
file
will open.
I would assume that the Drag & Drop needs a link to the method
to
accomplish this.
Any hints?
Here's how I do it.
Let's say I have a Window called MyDocWindow, and I've set it up
so that it displays my documents the way I want. In the code for
MyDocWIndow, I've set up a menu handler called "FileOpen" that
opens up a file dialog, gets a FolderItem, and (after checking
for a nil folderitem) loads my document data into my window.
Now I want to support drag and drop on the app icon. I look at my
FileOpen menu handler, and most of my code is there, only I can't
call a menuhandler directly. So I create a method (in
MyDocWindow) that takes a folder item as an argument, and I call
this method "OpenMyDoc(f As FolderItem)". It's a simple matter to
cut some of the code out of my menu handler and paste it into the
body of OpenMyDoc(). Then I just have my menu handler call
OpenMyDoc(f) at the point where the code used to appear.
Now my menu handler takes care of bringing up a File Open dialog
and getting a non-nil FolderItem. It then passes the FolderItem
to OpenMyDoc(f), which opens the file and loads the data into the
window. One last point: I make sure that the OpenMyDoc() method
is set to "public" visibility, not "private" or "protected."
Now, in my App.OpenDocument handler, I get a FolderItem passed in
as an argument. Here's the code I need:
Sub OpenDocument(item As FolderItem)
Dim w As new MyDocWindow
w.OpenMyDoc(item)
End Sub
That's really all there is to it. It's important to create w as a
new MyDocWindow because if the user drags more than one file onto
your app, the OpenDocument event will fire multiple times with a
different item each time.
Mark Nutter
Thanks Mark,
Finally Got to try your suggestions.
When I ty Run I get an error "There is no class with this name
MyDocWindow"
What am I missing?
Robert Poland
[EMAIL PROTECTED]
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>