Bildschirmauflösung ändern

timo0804

Mitglied
Hi Leute,
ich möchte ein Programm schreiben, was mir meine Bildschirmauflösung ändert. Die aktuelle Auflösung kriege ich schon angezeigt, nur jetzt möcht ich sie durch eine Auswahl in einer ComboBox und einen Klick auf einen Button ändern lassen. Kann mir jdn helfen? Vielleicht kann mir jemand ein Beispiel aufschreiben mit der Auflösung 800*600!
Habe leider nichts durch die Suchfunktion, passendes gefunden!

mfg Timo
 
Hallo, ich habe hier ein Beispiel für Dich.
Beim Starten des Programms wirst Du gefragt ob Du die Auflösung auf 800 x 600 ändern möchtest. Wenn Du auf Ja klickst, wird die Auflösung geändert.
Beim Beenden des Programms kommt wieder ein Abfrage ob die ursprüngliche Auflösung wieder eingestellt werden soll. Getestet unter Win2000 und WinXP.
 

Anhänge

Hallo Wincnc,
danke für deine schnelle Antwort udn für dein Bemühen.
Habe den Code probiert reinzukopieren und ihn komplett mit dem Modul eingefügt.
Da ich mich nicht wirklich gut mit Visual Basic auskenne kriege ich immer einen Fehler.
Mein COde sieht ejtzt vollgendermasen aus:
Code:
Private Sub Command4_Click()
 
 GetCurrentSettings Me.hDC, x, y, Colors, Frequenz
  
  If x <> 800 Or y <> 600 Then
    If MsgBox("Für den korrekten Ablauf der " & _
      "Anwendung muß eine Bildschirmauflösung " & _
      "von mind." & vbCrLf & "800 x 600 eingestellt sein!" & _
      vbCrLf & vbCrLf & _
      "Einstellungen entsprechend ändern?", vbYesNo + vbQuestion) = vbYes Then
        ChangeSettings Me.hDC, 800, 600, Colors, Frequenz
        Auflösung = True
    Else
      Unload Me
    End If
  End If
End Sub

Nun kommt bei mir aber folgender Fehler:
Sub oder Funktion nicht definiert!

Da ich noch nie mit Modulen gearbeitet habe, möchte ich dich fragen ob ich beide in deinem Beispiel enthaltene brauche oder einfach nur ein Fehler in meinem Code ist.
Schon mal vielen Dank
Timo
 
Moin,

könnte an GetCurrentSettings liegen, vielleicht wird diese Funktion in
einen der Module deklariert.
 
Hi,

in welcher Zeile deines Codes bleibt denn der Debugger stehen ?
Da wird dir genau angezeigt welche Sub oder Function fehlt und genau diese
hast du gar nicht oder falsch kopiert.
Hast du das komplette Modul Auflösung übernommen ? Dann sollte der Code auch funktionieren. Ich bin kein Freund davon einfach so die Auflösung eines Anwenders wegen meinem Prog zu ändern aber ich kenne ja den Hintergrund deines Vorhabens nicht.
Eigentlich sollte sich ein Programm an die Auflösung des Benutzers anpassen und nicht
umgekehrt.

Ja du benötigst beide Module, weil es bei manchen Betriebssytemen oder Einstellungen notwendig ist das System neu zu starten.

Jens
 
Zuletzt bearbeitet:
Zurück