Bildschirmauflösung abfragen?

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
stinketier
Beiträge: 40
Registriert: Di 3. Mär 2015, 15:35

Bildschirmauflösung abfragen?

Beitrag von stinketier »

Hallo zusammen,

wie bekomme ich raus wieviel pixel x und y grade auf dem bildschirm angezeigt werden?

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Bildschirmauflösung abfragen?

Beitrag von theo »

Code: Alles auswählen

Screen.Width; 
Screen.Height; 
S.a: http://lazarus-ccr.sourceforge.net/docs ... creen.html
Screen ist schon da, muss man also nicht mehr createn.

stinketier
Beiträge: 40
Registriert: Di 3. Mär 2015, 15:35

Re: Bildschirmauflösung abfragen?

Beitrag von stinketier »

Perfekt

dankeschön

wie mache ich eigentlich eine Form die über alles rübergeht und den kompletten bildschirm ausfüllt
ohne obereleiste
und unten die windowsleiste

wie geht sowas?

Mathias
Beiträge: 6914
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Bildschirmauflösung abfragen?

Beitrag von Mathias »

Code: Alles auswählen

  BorderStyle := bsNone;
  WindowState := wsMaximized;
Oder im Objectinspector dieses Werte für das Form ändern.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

stinketier
Beiträge: 40
Registriert: Di 3. Mär 2015, 15:35

Re: Bildschirmauflösung abfragen?

Beitrag von stinketier »

hmmm auch nee möglichkeit

wie macht man sowas eigentlich bei vollscreen spielen?
da arbeitet man ja eigentlich nicht mit formen

oder?

Warfley
Beiträge: 12
Registriert: So 8. Mai 2011, 09:21

Re: Bildschirmauflösung abfragen?

Beitrag von Warfley »

Jain, du kannst eine fullscreen Form Verwenden, oder z.B. per OpebGl direkt fullscreen Zeichnen.

Das ding ist halt eine Form gibt dir die Möglichkeit auf Form messages zu reagieren, das verlangsamt natürlich auch die Performance wenn du zwischendurch die Events abrufen musst

Moderne Spiele bieten beides an, borderless window oder fullscreen

Mathias
Beiträge: 6914
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Bildschirmauflösung abfragen?

Beitrag von Mathias »

wie macht man sowas eigentlich bei vollscreen spielen?

Code: Alles auswählen

procedure GoToFullScreen(Form: TForm; pWidth, pHeight, pBPP, pFrequency: word);
var
  dmScreenSettings: DevMode;
begin
  // Fenster vor Vollbild vorbereiten
  Form.WindowState := wsMaximized;
  Form.BorderStyle := bsNone;
  ZeroMemory(@dmScreenSettings, SizeOf(dmScreenSettings));
  with dmScreenSettings do begin
    dmSize := SizeOf(dmScreenSettings);
    dmPelsWidth := pWidth;                    // Breite
    dmPelsHeight := pHeight;                  // Höhe
    dmBitsPerPel := pBPP;                     // Farbtiefe
    dmDisplayFrequency := pFrequency;         // Bildwiederholfrequenz
    dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_BITSPERPEL or DM_DISPLAYFREQUENCY;
  end;
  if (ChangeDisplaySettings(dmScreenSettings, CDS_FULLSCREEN) = DISP_CHANGE_FAILED) then begin
    MessageBox(0, 'Konnte Vollbildmodus nicht aktivieren!', 'Error', MB_OK or MB_ICONERROR);
    exit;
  end;
end;   
Geht nur unter Windows.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten