>I'd love to use a textbox, but AFAIK I would need a form to do that. As to why there's no form, ask the idiots at SBT who thought recompiling straight DOS code under VFP6 and releasing it as a new version (Vision Point 10) was a good idea.
>
Just a thought here - if it's the main VFP screen, then there is an effective 'Form' named _screen - you can add controls to it, etc. And if you create a Window using DEFINE WINDOW, a little hint - take a look at _Screen.Forms - it's a Form, and you can do things to it like add controls and the like. It might be worth a bit of experimentation to see what you can do with these capabilities, especially if you're stuck dealing with the SBT code for a while. In any case, if you need to pop up a modal dialog or something along the way, there's no reason not to create them as Forms and take advantage of the VFP6 environment.
To help visualize this, try the following:
ax=_Screen
DEFINE WINDOW Foo FROM 10,10 TO 30,30
ACTIVATE WINDOW Foo
_Screen.ActiveForm.Name = 'Foo'
_Screen.ActiveForm.BackColor = RGB(255,0,0)
frmWindowForm = _Screen.ActiveForm
? frmActiveForm.class
frmActiveForm.AddObject('txtBox1','TextBox')
thisform.txtbox1.visible = .f.
Go into the debugger - ax will let you inspect the _screen object and forms and controls collections. Your Window is a Form, and your control is right there, and you can do all the form things to the window, and control things to the controls. Coordinating with @ SAY...GET may be a bit tricky, but start with a simple form, and try making it a form rather than the older style screen.