Entwickler-Ecke

Windows API - jede unterstützte Bildscirmauflöung auslesen


eniac - Mo 29.08.05 13:22
Titel: jede unterstützte Bildscirmauflöung auslesen
servus,

Welche Bildschirmauflösung unter Windows möglich ist hängt ja von verschiedene Faktoren ab: Grafikkarte, Bildschirm, Treiber, ...
Gibt es eine einfache und schnelle möglichkeit alle unterstüzten Auflösungen auszulesen (vielleicht mit einem Eintrag in der Registry oder so)?

danke schon mal für jeden Hinweis...


Moderiert von user profile iconraziel: Topic aus VCL (Visual Component Library) verschoben am Do 01.09.2005 um 21:00


Delete - Mo 29.08.05 17:11

Die Schweizer haben da bestimmt was: http://www.swissdelphicenter.ch


BenBE - Mo 29.08.05 17:56

Siehe einfach mal in der alten Screen-Unit OIncMonitors.pas [http://viewcvs.omorphia.de/omorphia/library/source/OIncMonitors.pas] von Projekt Omorphia [http://www.omorphia.de/]. Dort gibt's eine Procedure dafür.

Hauptbestandteil ist ein Aufruf von Procedure TOScrMonitor.ScanScreenModes;.


eniac - Mo 29.08.05 20:06

thx,
so was hab ich gesucht!!

Ich denke das bekomm ich mit eurer hilfe hin :D


Martin1966 - Di 30.08.05 11:04

Auch wenn die Frage bereits beantwortet wurde poste ich mal mein Codeschnipsel ;-)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Procedure TForm1.Button1Click(Sender: TObject);
Var
  Loop : Integer;
  DevMode : TDevMode;
Begin
  Loop := 0;
  While EnumDisplaySettings (nil, Loop, DevMode) Do
  Begin
    With Devmode Do
      ListBox1.Items.Add (
          Format (
              '%d x %d; %d Farben',
              [dmPelsWidth,dmPelsHeight,Int64(1shl dmBitsperPel]
            )
        );
      Inc (Loop);
   End;
End;


Auch zu erwähnen ist der folgende FAQ Beitrag: Wie kann ich Bildschirmauflösungen ermitteln & wechseln? [http://www.delphi-forum.de/topic_Wie+kann+ich+Bildschirmaufloesungen+ermitteln+amp+wechseln_73.html]

Lg Martin