FoxPro/Visual FoxPro - Redimensionar Formularios

   
Vista:

Redimensionar Formularios

Publicado por Gabriel (406 intervenciones) el 25/01/2008 04:42:15
Que tal amigos :
Tengo una aplicacion cuyos formularios son para la resolucion 800*600
el problema lo
tengo cuando la resolucion es mayor los formularios se ven muy
pequeños, que
me recomiendan tener 2 formularios y dependiendo de la resolucion usar
uno o
el otro o ampliar el tamaño de los controles con la propiedad anchor
aqui
tengo una duda ya que no la he usado, como se comporta esta opcion,
los
formularios se veran bien?

que me recomiendan

Utilizo Vfp9

saludos

Gabriel
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:Redimensionar Formularios

Publicado por JESUS CORDERO (402 intervenciones) el 26/01/2008 06:31:21
Puedes cambiar la resolucion cuando entreas al programa y luego dejarla como estaba anteriormente ve esta rutina.

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
****
**** para fijar resolucion
****
****
ChangeRes(800,600)
****
****
****
**** dejar como estaba
****
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