Sergio, no es exactamente lo que necesitas, pero te puede servir de guia, sustituyendo el codeblock por una function que vaya mostrando/borrando el texto para al final asignar el texto al say, aunque quizás lo complicado sea el pintar/borrar encima del get, pruébalo ( quizás con el oSay2:Move( ...... ) )
Code: Select all | Expand
#include "fivewin.ch"function main() local cVal := Space(40) local cPas := Space(20) local nVal := 0 local oDlg local oGet1 local oGet2 local oGet3 local oSay1 local oSay2 local oSay3 DEFINE DIALOG oDlg SIZE 300,500 PIXEL @ 15, 20 SAY oSay1 PROMPT "Number:" SIZE 60, 12 PIXEL OF oDlg @ 30, 20 GET nVal SIZE 100,12 PIXEL OF oDlg @ 55, 20 SAY oSay2 PROMPT "" SIZE 60, 12 PIXEL OF oDlg @ 70, 20 GET oGet2 VAR cVal SIZE 100,12 PIXEL OF oDlg CUEBANNER "<name>" @ 115, 20 SAY oSay3 PROMPT "" SIZE 60, 12 PIXEL OF oDlg @ 130,20 GET oGet3 VAR cPas SIZE 100,12 PIXEL OF oDlg CUEBANNER "<location>" @ 170,20 BUTTON "OK" SIZE 100,15 PIXEL OF oDlg ACTION oDlg:End() oGet2:bGotFocus := { | o, u | if( !Empty( o:cCueText ), oSay2:SetText( o:cCueText ), ) } oGet2:bLostFocus := { | o, u | if( Empty( o:oGet:Buffer ), oSay2:SetText( Space( 50 ) ), ) } oGet3:bGotFocus := { | o, u | if( !Empty( o:cCueText ), oSay3:SetText( o:cCueText ), ) } oGet3:bLostFocus := { | o, u | if( Empty( o:oGet:Buffer ), oSay3:SetText( Space( 50 ) ), ) } ACTIVATE DIALOG oDlg CENTEREDReturn nil
Utiliza un .rc con