diff options
Diffstat (limited to 'private/oleutest/simpdnd/readme.txt')
-rw-r--r-- | private/oleutest/simpdnd/readme.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/private/oleutest/simpdnd/readme.txt b/private/oleutest/simpdnd/readme.txt new file mode 100644 index 000000000..afcca0b6c --- /dev/null +++ b/private/oleutest/simpdnd/readme.txt @@ -0,0 +1,47 @@ +Simple Drag and Drop Sample +--------------------------- + +This sample demonstrates an implementation of OLE 2 drag and drop. It allows +drag and drop operations between two instances of the sample application. +For information on compiling and building the sample, see the makefile in +this directory. + + +Simple Drag and Drop Objects Overview : +--------------------------------------- +Simple Drag and Drop consists of three main objects. The top level is +CSimpleApp, under which is CSimpleDoc, and the innermost level is CSimpleSite. +CSimpleApp is used to hold all the main window information. (eg. handle to +the main window, handles to the main, edit, and help menus and the application +instance) CSimpleApp always exists as long as the simple drag and drop +application is alive. + +The next level object is CSimpleDoc object. It is instantiated when a new +document is created. It enables and disables the menu items in the main menu. +Since simple drag and drop is a single document interface application, the +user is only allowed to insert one object into the document. It is +necessary to disable certain items from the main menu to avoid incorrect +selection. It also registers the window for drag and drop and manipulates +the clipboard operations, such as copy to the clipboard, flush the clipboard. +It demonstrates the implementates of two OLE interfaces in its nested classes, +IDropSource and IDropTarget. These two interfaces are implemented as +CDropSource and CDropTarget respectively. + +The CSimpleDoc object instantiates two different objects based on the user +selection from the main menu. The CSimpleSite object is instantiated if the +user chooses to insert a new object into the document. CSimpleSite +demonstrates the implementation of IAdviseSink and IOleClientSite through its +nested classes. These two interfaces are implemented as CAdviseSink and +COleClientSite accordingly. CSimpleSite manipulates the storage handling and +acts as a client site to communicate to a remote server. Such server can be +an executable server or a dll server. The CDataXferObj object is instantiated +when the user chooses to copy the existing object from the current document. +it is required to copy an object to the clipboard. CDataXferObj demonstrates +the IDataObject interface implementation and performs data transfer +operations. + + + + + +
\ No newline at end of file |