Robert,
This hit me when I woke up this morning,
I had not said anything about the second part of your posting (the part concerning drawing DOS style boxes) because I didn't have anything to useful to say, but it occurred to me this morning, that I *DO* have a program drawing DOS style boxes.
So I looked through that code (its basically a wrapper around a legacy application). It calls the old Fox 2.6 code, but sets up a window for it first, so as far as the legacy code knows, its drawing on the screen:
DEFINE WINDOW myWindow ;
FROM 0,0 ;
TO 5,5 ;
NAME lo_window
lo_window.CAPTION = "Adj PL Report"
lo_window.FONTNAME = "FoxFont"
lo_window.SCALEMODE = 0
lo_window.FONTSIZE = 10
lo_window.HEIGHT = 25
lo_window.WIDTH = 80
lo_window.AUTOCENTER = .T.
The keys here are the NAME attribute (thanks Hacker's guide) and using FoxFont as the FontName, and the ScaleMode set to 0 for foxels (Thanks for this part to William C. Mason).
I tried the snippet of code you put in your original posting:
>@3,0 SAY CHR(201)
>@3,1 SAY REPLICATE(CHR(205),kl)
>@3,kl+1 SAY CHR(187)
>@4,0 SAY CHR(186)
>@4,1 SAY "Canada"
>@4,kl+1 SAY CHR(186)
After settting kl to 20 I got something like this:
___________________
| Canada |
Pardon my ascii art, but you get the idea. The real one of course had a double border using the CHR() values you specified.
This window as defined has no closing buttons, so I stuck this after the drawing part:
DO WHILE .T.
IF INKEY(27)
EXIT
ENDIF
ENDDO
lo_window.release()
This is not using any rawprint type stuff, so the version shouldn't matter, but I was using 5.0a
HTH
Bill