FoxPro/Visual FoxPro - RESOLUCION DE PANTALLA

   
Vista:

RESOLUCION DE PANTALLA

Publicado por JM (26 intervenciones) el 29/11/2007 20:00:52
Hola .... ¿Como puedo cambiar la resolución de la pantalla al inicio de un programa y volverla a dejar como estaba al salir de el?

Gracias.
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

RE:RESOLUCION DE PANTALLA

Publicado por Plinio (7771 intervenciones) el 29/11/2007 20:24:05
Puedes cambiar en tiempo de ejecucion los valores de las propiedades Width y Height, y para volverla a dejar como estaba no tienes que hacer nada.
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:RESOLUCION DE PANTALLA

Publicado por Ernesto Hernandez (4632 intervenciones) el 29/11/2007 20:25:35
oye te referiasal bug que ya no se puede postear codigo ?
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:RESOLUCION DE PANTALLA

Publicado por Plinio (7771 intervenciones) el 29/11/2007 21:56:04
Bueno, por coincidencia he puesto codigo, pero solo me ha pasado 3 veces, no siempre.
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:RESOLUCION DE PANTALLA

Publicado por Ernesto Hernandez (4632 intervenciones) el 29/11/2007 20:26:33
-*!* *!* Cambia la resolución de la pantalla
-*-!* *!* Sintaxis ChangeRes(tnWidth, tnHeight)
-*!* 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
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:RESOLUCION DE PANTALLA

Publicado por ANDY (221 intervenciones) el 30/11/2007 01:21:57
public AnchoInicio,Altoinicio

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
anchoinicio=lancho
altoinicio=lalto

* Lo ideal seria guardar estas variables en una tabla
* Cambiar la resolucion a 1024 x 768

ALTO=768
ANCHO=1024

ChangeRes(ANCHO,ALTO)

FUNCTION ChangeRes
LPARAMETERS tnWidth, tnHeight
LOCAL lnWidth, lnHeight, lnModeNum, lcDevMode
lnModeNum = 0
lcDevMode = REPLICATE(CHR(0), 156)
lnWidth = IIF(EMPTY(tnWidth), 800, tnWidth)
lnHeight = IIF(EMPTY(tnHeight), 600, tnHeight)

DECLARE INTEGER EnumDisplaySettings IN Win32API STRING lpszDeviceName, INTEGER iModeNum, STRING @lpDevMode
DECLARE INTEGER ChangeDisplaySettings IN Win32API STRING @lpDevMode , INTEGER dwFlags
DO WHILE EnumDisplaySettings(NULL, lnModeNum, @lcDevMode) <> 0
lnModeNum = lnModeNum +1
ENDDO
lcDevMode = STUFF(lcDevMode, 41, 4, LongToStr(1572864))
lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth)) && Ancho
lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight)) && Alto
ChangeDisplaySettings(@lcDevMode, 1)
ENDFUNC

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

*Para volver a la resolucion inicial y salir , usamos la misma funcion con las variables publicas

ChangeRes(AnchoInicio,AltoInico)
quit
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