http://www.elektrosoft.it/tutorials/gtwvg/gtwvg.asp
PROCEDURE Main()
Wvt_SetGui( .T. )
SetMode( 25, 80 )
SetColor( "N/W" )
CLS
Wvt_SetTitle( "Giovanni's Window" )
WAIT
RETURN

FUNCTION Main()
LOCAL aPaint
LOCAL cF1, cF2, cF3
LOCAL GETLIST := {}
Wvt_SetGui( .T. )
SetMode( 25, 80 )
SetColor( "N/W" )
CLS
Wvt_SetTitle( "Giovanni's Window" )
SetColor( "N/W,N/GR*,,,N/W*" )
cF1 = Space( 30 )
cF2 = Space( 30 )
cF3 = Space( 30 )
aPaint := {}
AAdd( aPaint, { NIL , { || Wvt_DrawBoxRaised( 6, 8, 14, 57 ) } , NIL } )
WvtSetPaint( aPaint )
@ 08, 10 SAY "Enter field 1 " GET cF1
@ 10, 10 SAY "Enter field 2 " GET cF2
@ 12, 10 SAY "Enter field 3 " GET cF3
READ
RETURN NIL
FUNCTION Wvt_Paint()
WvtPaintObjects()
RETURN NIL

PROCEDURE Main()
LOCAL aPaint
Wvt_SetGui( .T. )
SetMode( 25, 80 )
SetColor( "N/W" )
CLS
Wvt_SetTitle( "Giovanni's Window" )
aPaint := {}
AAdd( aPaint, { NIL , { || Wvt_DrawImage( 2, 12, 10, 23, "giovanni.jpg" ) } , NIL } )
AAdd( aPaint, { NIL , { || Wvt_DrawImage( 2, 45, 18, 67, "giovanni.jpg" ) } , NIL } )
WvtSetPaint( aPaint )
@ 23, 0
WAIT
RETURN
FUNCTION Wvt_Paint()
WvtPaintObjects()
RETURN NIL

PROCEDURE Main()
LOCAL aPaint
Wvt_SetGui( .T. )
SetMode( 25, 80 )
SetColor( "N/W" )
CLS
Wvt_SetTitle( "Giovanni's Window" )
@ 02, 35 SAY "Hello World" COLOR "G/W"
aPaint := {}
AAdd( aPaint, { NIL , { || Wvt_SetBrush( 0, rgb( 32,255,100 ) ) } , NIL } )
AAdd( aPaint, { NIL , { || Wvt_DrawEllipse( 6, 10, 10, 18 ) } , NIL } )
AAdd( aPaint, { NIL , { || Wvt_SetBrush( 0, rgb( 255,255,100 ) ) } , NIL } )
AAdd( aPaint, { NIL , { || Wvt_DrawEllipse( 6, 30, 10, 70 ) } , NIL } )
WvtSetPaint( aPaint )
@ 23, 10
WAIT
RETURN
FUNCTION rgb( r, g, b )
RETURN r + ( g * 256 ) + ( b * 256 * 256 )
FUNCTION Wvt_Paint()
WvtPaintObjects()
RETURN NIL

Gostaram?
Mas tenho uma má notícia... isso faz parte, mas NÃO É GTWVG, trata-se da GTWVT.
Se entrar na pasta da GTWVG, apagar todos os PRGs da GTWVG, o que sobra é isso.
Pra mim isso não tem nada a ver com GTWVG.
Mas os exemplos usam isso.