Page 1 sur 1
Résolution d'écran
Publié : jeu. 03/juil./2008 19:05
par Vlad
Il existe un moyen de connaitre la résolution actuelle de l'écran grâce aux fonctions de la famille "Desktop" (DesktopWidth, DesktopHeight).
Mais peut-on changer la résolution d'écran au début d'un programme utilisant essentiellement un écran non graphique (OpenWindow et non OpenScreen).
Merci à celui ou ceux qui voudront bien me répondre si possible par un court exemple de code.
M E R C I
Publié : jeu. 03/juil./2008 19:09
par Backup
voila
; Activer une resolution !
#CDS_UPDATEREGISTRY = $1
#CDS_TEST = $2
#CDS_FULLSCREEN = $4
#CDS_GLOBAL = $8
#CDS_SET_PRIMARY = $10
#CDS_RESET = $40000000
#CDS_SETRECT = $20000000
#CDS_NORESET = $10000000
#DISP_CHANGE_SUCCESSFUL = 0
#DISP_CHANGE_RESTART = 1
#DISP_CHANGE_FAILED = -1
#DISP_CHANGE_BADMODE = -2
#DISP_CHANGE_NOTUPDATED = -3
#DISP_CHANGE_BADFLAGS = -4
#DISP_CHANGE_BADPARAM = -5
#DM_BITSPERPEL = $40000
#DM_PELSWIDTH = $80000
#DM_PELSHEIGHT = $100000
#DM_DISPLAYFREQUENCY = $400000
Procedure SetResolution(RezX, RezY, NbCoul, Frequence, Memoriser) ; si SetResolution=2 la résolution est identique à l'actuelle, si 1 erreur lors de la recherche des infos, sinon regarder #DISP_CHANG_...
dm.DEVMODE
If EnumDisplaySettings_ (0, -1, @dm)
If RezX = dm\dmPelsWidth And RezY = dm\dmPelsHeight And NbCoul = dm\dmBitsPerPel And Frequence=dm\dmDisplayFrequency : ProcedureReturn 2 : EndIf
dmEcran.DEVMODE
dmEcran\dmSize = SizeOf (dmEcran)
dmEcran\dmFields = #DM_PELSWIDTH|#DM_PELSHEIGHT|#DM_BITSPERPEL|#DM_DISPLAYFREQUENCY
dmEcran\dmPelsWidth = RezX
dmEcran\dmPelsHeight = RezY
dmEcran\dmBitsPerPel = NbCoul
dmEcran\dmDisplayFrequency = Frequence
If Memoriser=1 : Memoriser= #CDS_UPDATEREGISTRY Or #CDS_NORESET : Else : Memoriser= #CDS_FULLSCREEN : EndIf
dmx = ChangeDisplaySettings_ (@dmEcran,Memoriser)
ProcedureReturn dmx
Else
ProcedureReturn 1
EndIf
EndProcedure
Debug SetResolution(800,600,32,60,1)
Publié : ven. 04/juil./2008 14:35
par Oliv
C'est pas dans la mauvaise section tout ça ?
Publié : ven. 04/juil./2008 15:25
par Backup