FoxPro/Visual FoxPro - ajustar pantalla

   
Vista:

ajustar pantalla

Publicado por Reynaldo (22 intervenciones) el 26/04/2010 04:34:47
Gracias de antemano a quien me puede colaborar

Mi problema consiste en la resolucion de la pantalla

creen un software comercial que contiene contabilidad, inventario, facturacion, compras, tesoreria, centas por pagar, cartera etc.

Hay un nuevo cliente que la resolucion de la pantalla es muy alto y mi sofware fue creado con un resolucion baja. por consiguiente los formularios, se ven muy chicos. ¿Hay alguna manera de adaptar el software de acuerdo a la resolucion que sea?

En verdad necesito de su colaboracion,

Reynaldo
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:ajustar pantalla

Publicado por jesus cordero (402 intervenciones) el 29/04/2010 19:59:31
PUEDES CAMBIAR LA RESOLUCION DE LA PANTALLA CUANDO ENTRES A TU APLICACION Y AL SALIR DEJARLA COMO ESTABA.

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

RE:ajustar pantalla

Publicado por Reynaldo (22 intervenciones) el 06/07/2010 22:40:15
Gracias Jesus

Eres muy amable

Reynaldo
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