saya mencoba program dibawah ini untuk mengubah resolusi melalui foxpro dan berhasil tapi ada yang
mau saya tanyakan. waktu resolusi berubah kenapa refresh rate monitornya juga berubah menjadi 60 hertz
sehingga monitor menjadi bergetar lebih cepat. Yang saya inginkan misal sebelum di ubah resolusinya
refresh ratenya 75 Hertz waktu program ini dijalankan refresh ratenya juga tetap 75 Hertz
Bagi para master foxpro mohon bantuannya, sebelumnya saya ucapkan banyak terima kasih
**sudah dicoba den berhasil tapi hertz dari 75 bisa berubah jadi 60 hertz
*--- ubah 800x600 jadi 1024x768
tnWidth=1024
tnHeight=768
changeres(tnWidth,tnHeight)
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
*[/foxpro]
*taken from foxite.com; fresh code, no edit code.
*feel free to join foxite..