Consegui resolver o problema e, se interessar, segue a solução que adotei.
Código: Selecionar todos
PUBLIC GET01, GET02, GET03, GET04, GET05, GET06
STORE SPACE(10) TO GET01, GET02, GET03, GET04, GET05, GET06
TELA1=SAVESCREEN(00,00,24,79)
DO WHILE .T.
RESTSCREEN(00,00,24,79,TELA1)
@ 02,29 PROMPT " A - OPC 1 " MESSAGE {||UDF("Mensagem 1",1)} // envia a mensagem para a linha 24 e
@ 03,29 PROMPT " B - OPC 2 " MESSAGE {||UDF("Mensagem 2",2)} ?? a opção atual do menu para exibir as telas
@ 04,29 PROMPT " C - OPC 3 " MESSAGE {||UDF("Mensagem 3",3)}
@ 05,29 PROMPT " D - SAIR " MESSAGE {||UDF("Mensagem 4",4)}
MENU TO MENUA
IF LASTKEY()=27
EXIT
ELSEIF LASTKEY()=13
IF MENUA=1
OPC1(1) //PARAMETRO "1" PASSA A INSTRUCAO PARA UTILIZAR A FUNCAO "READ"
ELSEIF MENUA=2
OPC2(1)
ELSEIF MENUA=3
OPC3(1)
ELSE
EXIT
ENDIF
ENDIF
ENDDO
SET COLOR TO
CLOSE ALL
RETURN(.T.)
FUNCTION UDF(MENSAG,MENUB)
@ 24,00 say MENSAG
IF MENUB=1
OPC1(2) //PARAMETRO "2" PASSA A INSTRUCAO PARA EXIBIR OS GETS"
ELSEIF MENUB=2
OPC2(2)
ELSEIF MENUB=3
OPC3(2)
ELSEIF MENUB=4
@ 10,00 clear to 18,79
ENDIF
RETURN(.T.)
FUNCTION OPC1(PARAM)
@ 10,00 clear to 18,79
@ 10,10 SAY "OPC1-GET01 " GET GET01 PICT "@!"
@ 12,10 SAY "OPC1-GET02 " GET GET02 PICT "@!"
IF PARAM=1
READ
ELSE
CLEAR GETS
ENDIF
RETURN(NIL)
FUNCTION OPC2(PARAM)
@ 10,00 clear to 18,79
@ 13,10 SAY "OPC2-GET03 " GET GET03 PICT "@!"
@ 15,10 SAY "OPC2-GET04 " GET GET04 PICT "@!"
IF PARAM=1
READ
ELSE
CLEAR GETS
ENDIF
RETURN(NIL)
FUNCTION OPC3(PARAM)
@ 10,00 clear to 18,79
@ 16,10 SAY "OPC3-GET05 " GET GET05 PICT "@!"
@ 18,10 SAY "OPC3-GET06 " GET GET06 PICT "@!"
IF PARAM=1
READ
ELSE
CLEAR GETS
ENDIF
RETURN(NIL)
obrigado a todos