*-- Texto del mensaje IF EMPTY(m.tcTexto) m.tcTexto = "Presione una tecla para continuar..."
ENDIF
*-- Linea mas larga de tcTexto (si es multilinea) m.lnMaxLen = 0 m.lnNroLin = ALINES(la, m.tcTexto)
FOR m.ln = 1 TO m.lnNroLin m.lnMaxLen = MAX(m.lnMaxLen,LEN(m.la(m.ln)))
ENDFOR
*-- Filas de ventana completa _VFP, distinto a WROWS(_SCREEN.NAME)
m.lnRows_VFP = _VFP.HEIGHT / FONTMETRIC(1,_SCREEN.FONTNAME,_SCREEN.FONTSIZE)
*-- Relación entre el tamaño de las
*-- fuentes de WAIT WINDOWS y _SCREEN m.lnRelFil = FONTMETRIC(1,'Arial',9) / FONTMETRIC(1,_SCREEN.FONTNAME,_SCREEN.FONTSIZE)
m.lnRelCol = FONTMETRIC(6,'Arial',9) / FONTMETRIC(6,_SCREEN.FONTNAME,_SCREEN.FONTSIZE) m.lnFil = WLROW(_SCREEN.NAME) + (m.lnRows_VFP - m.lnNroLin * m.lnRelFil) / 2
m.lnCol = WLCOL(_SCREEN.NAME) + (WCOLS(_SCREEN.NAME) - m.lnMaxLen * m.lnRelCol) / 2
*-- Comando m.lcCmd = [WAIT WINDOWS tcTexto TO lcRet AT lnFil,lnCol]
*-- Clausulas NOWAIT y NOCLEAR
IF NOT EMPTY(m.tcOpc) AND VARTYPE(m.tcOpc) = "C" IF "NOWA" $ UPPER(m.tcOpc) m.lcCmd = m.lcCmd + [ NOWAIT]
ENDIF IF "NOCL" $ UPPER(m.tcOpc) m.lcCmd = m.lcCmd + [ NOCLEAR] ENDIF
ENDIF
*-- Clausula TIMEOUT IF NOT EMPTY(m.tnTimeOut) AND VARTYPE(m.tnTimeOut) = "N"
m.lcCmd = m.lcCmd + [ TIMEOUT tnTimeOut] ENDIF
*-- Ejecuto el comando &lcCmd
RETURN m.lcRet ENDFUNC