RESOLUCION DE PANTALLA (COLORES)

cybermatica
11 de Marzo del 2003
Necesito codigo en fox 6.0 para conocer la resolucion de pantalla (colores) actual del Sistema Operativo WINDOWS 95...

jabier lopez hernandez
11 de Marzo del 2003
yo no se nada

pablocesar
11 de Marzo del 2003
Aquí te paso un ejemplo, para mas info busca en la ayuda la función SYSMETRIC() y verás todas las opciones que tiene.
****
DO CASE
CASE SYSMETRIC(1)=640 AND SYSMETRIC(2)=480
*--- Resolución de 640*480
CASE SYSMETRIC(1)=800 AND SYSMETRIC(2)=600
*--- Resolución de 800*600
CASE SYSMETRIC(1)=1024 AND SYSMETRIC(2)=768
*--- Resolución de 1024*768
CASE SYSMETRIC(1)=1280 AND SYSMETRIC(2)=1024
*--- Resolución de 1280*1024
OTHER
*--- Desconocido
ENDCASE
*****

Saludos
Pablo César

pablocesar
11 de Marzo del 2003
Hola, perdón, por apresurado te envíe información que no necesitabas, estabas pidiendo los colores y yo te mandé el tamaño...ahora por bocón trataré de buscar lo que necesitas aunque me lleve un rato...
saludos nuevamente...
Pablo César

pablocesar
11 de Marzo del 2003
Como lo prometido es deuda, creo que encontré lo que buscas, te lo paso tal cual lo tengo en un ejemplo.

*****
Para poder determinar el numero de colores disponibles, son necesarias tres llamadas a la
API de windows: GetDC(), GetDeviceCaps(), and ReleaseDC().

A continuación se muestran las funciones capaces de devolver este valor. Nota: En la version
de FoxPro de Windows se debe cargar FOXTOOLS.FLL antes de llamar a la función.

FUNCTION NumColors
* version de 32 bit para uso con
* VFP bajo Win 95 y superiores,
* y Windows NT 3.51 y superiores

DECLARE INTEGER GetDC IN Win32API;
INTEGER hWnd
DECLARE INTEGER GetDeviceCaps IN Win32API;
INTEGER hDC, INTEGER nIndex
DECLARE INTEGER ReleaseDC IN Win32API;
INTEGER hWnd, INTEGER hDC
LOCAL lnresult, lnhDC, lnplanes, lnpixels
lnresult = 0
lnhDC = GetDC(0)
IF lnhDC > 0
* Get the number of color planes
lnplanes = GetDeviceCaps(lnhDC, 14)
* Get the number of bits per pixel
lnpixels = GetDeviceCaps(lnhDC, 12)
* Calculate the return value
lnresult = 2 ^ (lnplanes * lnpixels)
= ReleaseDC(0, lnhDC)
ENDIF
RETURN lnresult
******
Cualquier duda avisame a mi correo ya que a este foro ingreso solo los fines de semana...saludos.
Pablo César