DragDrop Driver 1.0 for GENSCRNX



The DRAGDROP.PRG driver is designed for GENSCRNX 1.7a or later.  
The DragDrop driver also requires 3D.PRG driver 1.6 or later for 
automatically creating 3D effects for the drag and drop objects.  The 
DragDrop driver is entirely written in FoxPro and fully compatible with 
FoxPro 2.0 and FoxPro 2.5 (all platforms).  The only API calls made are 
in the Windows platform to turn off the Windows mouse cursor while in 
the drag mode.  If FOXTOOLS.FLL is not found in the FOXPROW.EXE 
directory, the  mouse cursor will not be turned off while dragging objects.

Sample code files for the DragDrop driver can be found on 
CompuServe's FoxForum (section 3rd Party Products).  The first set of 
sample code is contained in a file called DGDP01.ZIP.




IMPORTANT


This documentation file will be enhanced extensively and uploaded (in 
DRGDRP.ZIP) on CompuServe's FoxForum (section 3rd Party Products) 
by 11/12/93.  Since this file does not include directive definition, 
experiment with the sample screens in DGDP01.ZIP to help learn the 
DragDrop directives.  Also, reading the DragDrop event/property 
definitions for Visual Basic 2.0 or later will help since




INSTALLATION


Read documentation on installation supplied with GENSCRNX before 
using the DragDrop driver and sample code.




UP AND RUNNING


To enable the DragDrop driver, place the following line of code in the 
Setup snippet of a screen:

*:SCXDRV3 DRAGDROP
*:SCXDRV5 3D


To enable the DragDrop driver globally for all FoxPro for Windows 
screens, place the following in the CONFIG.FPW:

_SCXDRV3="<path>DRAGDROP.PRG"
_SCXDRV5="<path>3D.PRG"

with the proper <path> of the DRAGDROP.PRG and 3D drivers.

Notes:
The 3D driver is optional for use with the DragDrop driver.  If the 3D 
driver is not installed with the DragDrop driver, 3D effects will not be 
generated for the drag and drop objects.  Although all of the drag and 
drop object combinations have a default 3D effect generated by the 
DragDrop driver, any *:3D directive in a drag and/or drop object will 
override the default 3D effect for that object.  For each drag and/or drop 
object, the DragDrop driver overrides any global 3D settings specified in 
the Setup snippet.  For further information about using the 3D directives 
for the 3D driver, refer documentation supplied with 3DFOX.ZIP.




SETUP SNIPPET DIRECTIVE REFERENCE


*:SCXDRV3 <path>DRAGDROP
*:SCXDRV5 <path>3D

Specify SCX driver #3 to execute the DRAGDROP.PRG driver function.
Specify SCX driver #5 to execute the 3D.PRG driver function (optional).


*:NOICONLIST

Disable generation of null function calls for .ICO and .BMP files specified 
with the DragDrop directives.  The DragDrop driver default is to 
automatically create a list of the .ICO and .BMP files used for both static 
and animated pictures to force a project to find all the necessary files.  
The file names may include a directory path name which is required if the 
files are not in the FoxPro file search path.

Example:
* Start of null icon file list
RETURN [m.null]
DO eye.ico
DO face01.ico
DO face02.ico
DO face03.ico
* End of null icon file list




EVENT/PROPERTY REFERENCE



*:DblClick <function name>

Must be used with *:DragMode for a drag events only.


*:DragDrop [<function name>]


*:DragEnter [<function name>]


*:DragHeight <rows>


*:DragIcon [<expC>]


*:DragLeave [<function name>]


*:DragMode [<function name>]


*:DragOver [<function name>]


*:DragWidth <columns>


*:DragWithin [<function name>]


*:ObjArray [<array name>]


*:ObjClass <expC>


*:ObjHeight <expC>


*:ObjMsg <expC>


*:ObjTxt [<expC>]


*:ObjWidth <expC>


*:OverButton  [<variable name>]


*:OverHeight <expC>


*:OverIcon  [<expC>]


*:OverTxt [<expC>]


*:OverWidth <expC>




DRAG EVENT FUNCTION REFERENCE


animate(<expC1>, <expN1>, <expN2> | <expC2>, <expN3> | <expC3> 
[,<expN4>])




ADDITIONAL INFORMATION



If a public variable called _DRAGDROP is set to OFF, the DragDrop 
driver will be disabled and all DragDrop code generation will be 
suppressed.  _DRAGDROP='OFF' is useful when prototyping a project 
and DragDrop code generation is not needed for testing but the time it 
takes for a project to re-build needs to be as short as possible.  The 
overhead time of using the DragDrop driver depends on the number and 
type of drag and drop objects generated for the screen.  
DRAGDROP=OFF can be placed in the CONFIG.FPW file to disable 
DragDrop code generation without being dependent on a public variable 
call _DRAGDROP existing.  If both a public variable _DRAGDROP and 
DRAGDROP =ON | OFF in the CONFIG.FPW file, the public variable has 
precedence.




COPYRIGHT NOTICE


Compressed file: DRGDRP.ZIP
System: GenScrnX
Author: Ken R. Levy
Company: Jet Propulsion Laboratory
Copyright: None (Public Domain)

All source code and documentation contained in DRGDRP.ZIP was 
developed at the Jet Propulsion Laboratory in Pasadena, Calif. and has 
been placed into the public domain.  You may use, modify, copy, 
distribute, and demonstrate any source code, example programs, or 
documentation contained in DRGDRP.ZIP freely without copyright 
protection.  All files contained in DRGDRP.ZIP are provided 'as is' without 
warranty of any kind.  In no event shall its authors, contributors, or 
distributors be liable for any damages.




COMMENTS/SUGGESTIONS/PROBLEMS/QUESTIONS


Please use CompuServe's FoxForum (section 3rd Party Products) 
directed to:

Ken Levy 76350,2610

-----------------------------------------------------------

