Creating MS-DOS Style Full-Screens in FoxPro for Windows (124600)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft FoxPro for Windows 2.6a

This article was previously published under Q124600

SUMMARY

Sometimes a developer wants both the MS-DOS and Windows versions of an application to have the same general appearance, such as taking up the entire display area. This is usually not possible in the Windows version because FoxPro appears in a window having a title bar, menu bar, and borders. This article gives a procedure you can use to remove the title bar and borders. Optionally, the menu bar can be removed while allowing full functionality of the menu.

MORE INFORMATION

This technique relies on the undocumented SIZE WINDOW command. The SIZE WINDOW command syntax is identical to that of the MOVE WINDOW command in that it supports both direct (TO) and relative (BY) position clauses.

Unfortunately, there is a brief display of the desktop being changed by the commands. To minimize this effect, run the code from a program called by the COMMAND= statement in a CONFIG.FPW file as in this example:
   COMMAND=DO starter
				
Alternately, place the commands at the beginning of the application code. Then call the application as a parameter on the icon Command Line property within the Program Item Properties dialog of Program Manager as in this example:
   Command Line:     C:\FPW26\FOXPROW.EXE myapp
				
And check the Run Minimized check box. Although this causes the application to start minimized, the ZOOM WINDOW MAX command will cause the desktop to be fully displayed.
   * Code to resize window and remove title bar
   SET STATUS BAR OFF      && optional, required if next command used
   * SET STATUS ON         && optional, MS-DOS style status bar
   ZOOM WINDOW SCREEN MAX  && regardless of screen resolution
   MOVE WINDOW SCREEN BY -1.5,0  &&-1.5 for SVGA, adjust for others
   SIZE WINDOW SCREEN BY 1.5,0   && drop bottom of screen to edge
				
The value -1.5 is the relative displacement required to move the desktop window (actually named SCREEN) one and a half rows upward, thereby effectively removing the title bar from view, beneath the upper edge of the display. The 0 value indicates that the column position is not to change during the move.

The 1.5 value is the amount added in size to the bottom of the desktop window to compensate for the loss at the top where the title bar was. Again, the width of the window is not to change when resized.

To eliminate the System Menu bar from view as well, double the amount of displacement. For example, move -3.0 rows up and size 3.0 rows down.

NOTE: The relative displacement values shown are based on SVGA measurements. They may require adjustment to compensate for differences in monitor resolutions. Use the following code to determine the offset values:
   nSkew = 1.5 + IIF(SYSMETRIC(1) = 1024, .55, 0)
   MOVE WINDOW SCREEN BY -(nSkew),0
   SIZE WINDOW SCREEN BY   nSkew ,0
				

Modification Type:MajorLast Reviewed:10/15/2003
Keywords:kbcode kbinfo KB124600