![]() |
Bildschirmmodi ermitteln
Delphi-Quellcode:
Habe dieses Beispiel noch gefunden, ist das noch so aktuell oder gibt es bessere Methoden dafür?
procedure TForm1.FormCreate(Sender: TObject);
var devmode : TDEVMODE; d : INTEGER; litem : TListItem; p : ^TDevmode; begin devmode.dmSize := SizeOf(TDEVMODE); devmode.dmDriverExtra := 0; d := 0; listview1.Columns[0].Width := 400; While EnumDisplaySettings(nil, d, devmode) do with devmode do begin Inc(d); litem := listview1.Items.Add; litem.Caption:=Format('Modus %3d : %dx%d, %d Farben (%d Hz)',[d,dmPelsWidth,dmPelsHeight,1 shl (dmBitsPerPel),dmDisplayFrequency]); new(p); p^ := Devmode; litem.Data := p; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin ChangeDisplaySettings(TDevmode(listview1.Selected.data^),0); end; Falls das noch aktuell ist, kann das auch gerne jemand in die Code-Library verschieben (oder ich mache es selbst, falls der Code so ok ist ...)! |
Re: Bildschirmmodi ermitteln
Nein, die WinAPI hat das noch nicht neu erfunden, sondern bietet (schon allein zur Kompatibilität) immernoch die gleichen Funktionen.
Und besserer Code: Nun ja, warum wird eine lokale Variable angelegt um dann deren Inhalt wieder in die angelegte Zeigerstruktur zu kopieren? Warum nicht gleich den Zeiger befüllen lassen? Warum direkt in ein ListView1? Warum wird dieses nicht übergeben? In die CodeLibrary als FormCreate() Methode? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz