| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Bildschirmauflösung temporär verändern
Lauffähig ab Profan-Version 5.0
Dieses Beispiel demonstriert, wie man vom eigenen Programm aus die Bildschirmauflösung
temporär verändern kann. Hierbei kann auch die gewünschte Farbtiefe angegeben werden,
siehe Profan-Hilfe zu %BitsPixel
Vorteil: Die Einstellungen werden von Windows nicht abgespeichert, so daß auch die
Icons auf dem Desktop nicht anders angeordnet werden.
Wichtig: Jedes Programm, welches die Bildschirmauflösung ändert, sollte diese
zum Programm-Ende auch wieder zurücksetzen. Dazu werden die beim Programmstart
vorgefundenen Werte hier in den Variablen SikMaxX% und SikXPixel% gesichert
declare SikMaxX%,SikBitsPixel%
Def Enumdisplaysettings(3) !USER32,EnumDisplaySettingsA
Def Changedisplaysettings(2) !USER32,ChangeDisplaySettingsA
Declare Devmode#, Int_resooldvalue%
Dim Devmode#,148
Proc Res
Parameters X%,Bpp%
Declare A&,B%,Fehl&,Y%
Int_resooldvalue% = %Maxx
Decimals 0
Case (X% = 320) : Y%=240
Case (X% = 640) : Y%=480
Case (X% = 800) : Y%=600
Case (X% = 1024): Y%=768
Case (X% = 1152): Y%=864
Case (X% = 1280): Y%=1024
Case (X% = 1600): Y%=1200
Case (X% = 1900): Y%=1600
Case (X% > 1900) : Y%= 3 * (X% / 4)
Let A&=1
While A&
Let A&=Enumdisplaysettings(0,B%,Devmode#)
Inc B%
Wend
Long Devmode#,40=1572864
Long Devmode#,104=Bpp%
Long Devmode#,108=X%
Long Devmode#,112=Y%
Changedisplaysettings(Devmode#,0)
Endproc
Beispiel:
Zunächst die Startwerte für vorhandene Auflösung und Farbtiefe sichern
SikMaxX% = %MaxX
SikBitsPixel% = %BitsPixel
Res 640,16 Neueinstellung auf 640 x 480 Pixel und Farbtiefe 64k Farben = HighColor
cls
print Weiter mit beliebiger Taste ...
waitinput
Res SikMaxX%,SikBitsPixel% Die beim Programmstart vorgefundenen Einstellungen werden wiederhergestellt
ref='./../../function-references/xprofan/end/'>end
|
|
|
| |
|
|