Bildschirmauflösung während des Prog ändern?

Von: , Frage gestellt am Do, 30. Sep 1999

hallo,

ich habe die frage zwar schon mal im forum gesehen, aber leider nicht beachtet. ich habe ein prog, dass nur mit der auflösung 1024x768 sinn macht. wie kann ich beim start die auflösung hochsetzen und wie danach wieder runtersetzen?

danke
olli

4 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde hilfreich
    Re: Bildschirmauflösung während des Prog ändern?

    1. Gibt man eine Programmiersprache an.
    2. Halt ich das für eine nicht so gute Idee, nicht jede SVGA und nicht jeder Monitor unterstützen diese (VESA) Modes.

    Gerade der Monitor kann sogar Schaden nehmen, bei zu hohen Auflösungen

    • Antwort von nach 3 Stunden hilfreich
      VB5.0 Prof.

      [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 16 Stunden hilfreich
      Re^2: Bildschirmauflösung während des Prog ändern?

      Hallo zusammen!

      Ich hatte auch mal so ein Problem, mein Prog brauchte unbedingt 800x600. Ich habe dann einfach die aktuelle Auflösung ausgelesen und, wenn sie den Anforderungen nicht entsprach, den Benutzer gebeten, die Auflösung einzustellen.
      Das kann man a) mit jeder Programmiersprache unter Windows hinbekommen und es verursacht b) niemals Schäden am Gerät.
      Viele Grüße,
      Thomas [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach einem Tag hilfreich
    Re: Bildschirmauflösung während des Prog ändern?

    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean

    Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
    Const CCDEVICENAME = 32
    Const CCFORMNAME = 32
    Const DM_PELSWIDTH = &H80000
    Const DM_PELSHEIGHT = &H100000

    Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    End Type

    Dim DevM As DEVMODE


    Sub ChangeRes(iWidth As Single, iHeight As Single)

    Dim a As Boolean
    Dim I&
    I = 0

    Do
    a = EnumDisplaySettings(0&, I&, DevM)
    I = I + 1
    Loop Until (a = False)

    Dim b&
    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
    DevM.dmPelsWidth = iWidth
    DevM.dmPelsHeight = iHeight
    b = ChangeDisplaySettings(DevM, 0)



    End Sub

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!