FoxPro/Visual FoxPro - COMO CAMBIO LA RESOLUCION???

 
Vista:

COMO CAMBIO LA RESOLUCION???

Publicado por A N G E L . (100 intervenciones) el 15/05/2007 18:35:39
HOLA

TENGO EL SIGUIENTE CODIGO Q VALIDA LA RESOLUCION DEL MONITOR:

** VALIDACION DE RESOLUCIOON **
DECLARE Integer GetSystemMetrics IN Win32API Integer nIndex

*?GeTSystemMetrics(1) && Devuelve la resolución vertical, 600
*?GeTSystemMetrics(16) && Devuelve la resolución horizontal, 800

IF GeTSystemMetrics(1)<>768 AND GeTSystemMetrics(16)<>1024
MESSAGEBOX("SU RESOLUCION DEBE SER DE 1024 POR 768 PIXELES PARA CORRER ESTE SISTEMA",32,"CORREGIR CONFIGURACION DE SU RESOLUCION !")
RETURN .F.
ENDIF
*********************************

PERO... QUISIERA MEJOR QUE EN EL PRG INCIAL SI LA RESOLUCION ES MAYOR O MENOR. .. GUARDARA EN UNA TABLA DE VARIABLES LA RESOLUCION Q TIENE LA MAQUINA.. LUEGO LA CAMBIO A 1024 * 768 ... Y CUANDO SE CIERRE EL PROGRAMA VOLVER A DEJAR LA RESOLUCION Q SE TENIA CUANDO ARRANCO.. ESTO PORQUE HE DISEÑADO MI APLICACION PARA RESOLUCION DE 1024 * 768 .

COMO HAGO ESO????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:COMO CAMBIO LA RESOLUCION???

Publicado por jesus cordero (405 intervenciones) el 19/05/2007 00:29:52
ESTA ES LA RUTINA:

****
****
** PROGRAMA PRINCIPAL
****
****
Public LANCHO
Public LALTO
****
**************************************************************
** determina la resolución de la pantalla
**************************************************************
****
DO CASE
CASE SYSMETRIC(1)=640 AND SYSMETRIC(2)=480
LANCHO=SYSMETRIC(1)
LALTO=SYSMETRIC(2)
CASE SYSMETRIC(1)=800 AND SYSMETRIC(2)=600
LANCHO=SYSMETRIC(1)
LALTO=SYSMETRIC(2)
CASE SYSMETRIC(1)=1024 AND SYSMETRIC(2)=768
LANCHO=SYSMETRIC(1)
LALTO=SYSMETRIC(2)
CASE SYSMETRIC(1)=1280 AND SYSMETRIC(2)=1024
LANCHO=SYSMETRIC(1)
LALTO=SYSMETRIC(2)
OTHERWISE
MESSAGEBOX([LA RESOLUCION DEL MONITOR ES DESCONOCIDA])
ENDCASE
****
**** CAMBIO A 800X600
****
ChangeRes(800,600)
****
.
.
.
****
****
****
** AL SALIR DEL PROGRAMA PRINCPAL
** DEJO LA RESOLUCION COMO LA ENCONTRE
****
ChangeRes(LANCHO,LALTO)
****
****
****
****************************************************************************
* Función que cambia o restaura resolucion de pantalla *
****************************************************************************
****
*!* Valor devuelto: llRetVal
*!* Argumentos: tnWidth, tnHeight
*!* tnWidth especifica la nueva anchura de la pantalla en pixels
*!* tnHeight especifica la nueva altura de la pantalla en pixels
FUNCTION ChangeRes
LPARAMETERS tnWidth, tnHeight
LOCAL lnWidth, lnHeight, lnModeNum, lcDevMode
*!* Valores
lnModeNum = 0
lcDevMode = REPLICATE(CHR(0), 156)
lnWidth = IIF(EMPTY(tnWidth), 800, tnWidth)
lnHeight = IIF(EMPTY(tnHeight), 600, tnHeight)
*!* Instrucciones DECLARE DLL para cambiar resolución
DECLARE INTEGER EnumDisplaySettings IN Win32API STRING lpszDeviceName, INTEGER iModeNum, STRING @lpDevMode
DECLARE INTEGER ChangeDisplaySettings IN Win32API STRING @lpDevMode , INTEGER dwFlags
*!* Bucle para obtener todos los modos disponibles
DO WHILE EnumDisplaySettings(NULL, lnModeNum, @lcDevMode) <> 0
lnModeNum = lnModeNum +1
ENDDO
*!* Configurar la structura DevMode
lcDevMode = STUFF(lcDevMode, 41, 4, LongToStr(1572864))
lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth)) && Ancho
lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight)) && Alto
*!* Cambiar resolucion
ChangeDisplaySettings(@lcDevMode, 1)
ENDFUNC

****
*!* Convierte un long integer a un 4-byte character string
*!* Sintaxis: LongToStr(lnLongVal)
*!* Valor devuelto: lcRetStr
*!* Argumentos: lnLongVal
*!* lnLongVal especifica el long integer a convertir
FUNCTION LongToStr
LPARAMETERS lnLongVal
LOCAL lnCnt, lcRetStr
lcRetStr = ''
FOR lnCnt = 24 TO 0 STEP -8
lcRetStr = CHR(INT(lnLongVal/(2^lnCnt))) + lcRetStr
lnLongVal = MOD(lnLongVal, (2^lnCnt))
NEXT
RETURN lcRetStr
ENDFUNC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PRBLEMA RESUELTO.!!!! MUCHISIMAS GRACIAS!!!!

Publicado por ANGEL (100 intervenciones) el 20/05/2007 06:03:14
ESTA EXELENTISIMA ESA RUTINA Y FUNCIONES.. MUCHISMAS GRACIAS !! Q EXELENTE ESTE FORO..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PRBLEMA RESUELTO.!!!! MUCHISIMAS GRACIAS!!!!

Publicado por jesus cordero (405 intervenciones) el 21/05/2007 02:33:57
por nada compañero...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COMO CAMBIO LA RESOLUCION???

Publicado por ricardo (4 intervenciones) el 07/11/2007 12:26:05
Mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hago para utilizar este cambio resolucion

Publicado por mario oviedo (1 intervención) el 29/07/2009 16:01:19
por favor como hago para cambiar un tipo de resolucion, ademas de colocarlo en el prg principal, que hago ademas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar