? WaitWindowCentrado("Microsoft Visual FoxPro...",0)
FUNCTION WaitWindowCentrado
LPARAMETERS pcmensaje, pnmodo, pnsegundos, lcarea
IF pcount() = 0 OR TYPE("pcmensaje") # "C"
RETURN("")
ENDIF
IF TYPE("pnmodo") # "N"
pnmodo = 0
ENDIF
IF TYPE("pnsegundos") # "N"
pnsegundos = 1
ENDIF
IF TYPE("lcarea") # "C"
lcarea = "_SCREEN"
ENDIF
LOCAL lnfila AS INTEGER, lncolumna AS INTEGER
LOCAL lnold_scale, lcmodo AS CHARACTER, lcresp AS CHARACTER
DO CASE
CASE pnmodo = 0
lcmodo = ""
CASE pnmodo = 1
lcmodo = "NOWAIT"
CASE pnmodo = 2
lcmodo = "TIMEOUT pnsegundos"
OTHERWISE
lcmodo = ""
ENDCASE
lnold_scale = &lcarea..SCALEMODE
&lcarea..SCALEMODE = 0
lnfila = &lcarea..HEIGHT / 2
lncolumna = ( &lcarea..WIDTH / 2 ) - LEN(pcmensaje) / 2
WAIT WINDOW pcmensaje TO lcresp AT lnfila, lncolumna &lcmodo
&lcarea..SCALEMODE = lnold_scale
RETURN(lcresp)
ENDFUNC
NOTA: El 1er parametro es el mensaje, el segundo fijese en el DO CASE, el tercero va junto cuando 'pnmodo' es igual a 2, y el ultimo parametro puede ser _SCREEN o THISFORM por ejemplo.
Jose Matute
No hay comentarios.:
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.