ID: Q116306
The information in this article applies to:
Output that is directed to the screen and is underneath an active window is not visible. This behavior may occur when you are executing a program that was created for dBASE IV.
In FoxPro, a window is opaque. Output directed to a location on the screen that is underneath a window will therefore not be visible until the window is moved, released, or hidden. In dBASE IV, a window has certain transparent attributes. Therefore, output directed to a location on the screen that is underneath a window may actually appear inside the window. This behavioral difference cannot be avoided with the SET COMPATIBLE command.
If you need to place text in a window, use the DEFINE WINDOW command to create a window and then draw text directly in that window. If you need to place text on the screen so that it appears to be inside a window, use the @ ... TO command to create a border that simulates the border of a window.
Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
The following code can be used to reproduce the behavioral differences explained in this article:
DEFINE WINDOW test FROM 10,10 TO 20,40
ACTIVATE WINDOW test
ACTIVATE SCREEN
@ 15,20 SAY "Overwrite"
i = INKEY(0)
RELEASE WINDOW test
When this code is executed in dBASE IV, the word "Overwrite" will appear
inside the window. When this code is executed in FoxPro, the word
"Overwrite" will appear underneath the window and will not become visible
until the window is released.
Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a 2.50b 2.60 KBCategory: kbdisplay kbprint kbprg kb3rdparty kbprb KBSubcategory: FxinteropDbase
Last Reviewed: June 28, 1995