AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Handle eines Fensters -> ist es im Vollbildmodus?
Thema durchsuchen
Ansicht
Themen-Optionen

Handle eines Fensters -> ist es im Vollbildmodus?

Ein Thema von Delphi-Freak · begonnen am 28. Jan 2006 · letzter Beitrag vom 4. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#1

Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 15:18
Hi wiedereinmal!

Ich möchte herausfinden, ob das Fenster, von dem ich das Handle habe, sich gerade im Vollbildmodus befindet. Hat jemand eine Ahnung, wie ich das machen könnte? Die Größe abzufragen und mit Screen.Width bzw. Screen.Height zu vergleichen geht nicht, weil ein maximiertes Fenster auch diese Größe hat - die Taskleiste habe ich nämlich versteckt.

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 16:16
Die IsZoomed WinAPI Funktion sollte da helfen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 16:20
laut msdn gibt diese funktion aber auch nur zurück ob das Fenster maximiert ist.
@jbg: Was meinst du mit "ist im vollbildmodus"? Von vollbild spricht man immer wenn ein Fenster den Bildschirm vollständig ausfüllt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 17:53
Naja, ich meine eigentlich, dass es keine Titelleiste bzw. Rahmen hat und bildschirmfüllend ist...

Danke aber schonmal, für eure Antworten!

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 18:27
dann musst du einmal abfragen ob es die Größe der Bildschirmauflösung hat und dann ob es eine Titelleiste hat.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 20:49
Ersteres geht, wie schon gesagt, leider nicht, weil ich die Taskbar ja verstecke, und somit hat dann jedes maximierte Fenster die Größe des Bilschirms; und zweiteres weiß ich leider nicht, wie das geht, da würde ich euch fragen.

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 22:36
So:

Code:
var WndRect: Trect;

aHandle := Handle des Fensters was du hast;

GetClientRect(aHandle , WndRect);

if WndRect.Top    =0
   WndRect.Left   =0
   WndRect.Right  = GetSystemMetrics(SM_CXSCREEN))
   WndRect.Bottom = GetSystemMetrics(SM_CYSCREEN))
  then Fullscreen := True
  else Fullscreen := False;
Oder so ähnlich....
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 22:42
@turboPASCAL: Da fehlt noch die Prüfung ob das Fenster eine Titelleiste hat (nach der Definition des Threads-Eröffners)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 23:10
Hm...

Code:
 if (getwindowlong(Handle, GWL_STYLE) or WS_CAPTION) > 0 then
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Handle eines Fensters -> ist es im Vollbildmodus?

  Alt 28. Jan 2006, 23:59
Moin turboPASCAL,

also wenn schon, dann

if (getwindowlong(Handle, GWL_STYLE) and WS_CAPTION) > 0 then oder
if (getwindowlong(Handle, GWL_STYLE) and WS_CAPTION) <> 0 then oder
if (getwindowlong(Handle, GWL_STYLE) and WS_CAPTION) = WS_CAPTION then zum einen and statt or verwenden, da Du ja schliesslich wissen willst, ob das Flag enthalten ist, deshalb muss man es ausmaskieren (and) und nicht hinzufügen (or)

Zum Anderen:
> 0 birgt die Gefahr, dass das Ergebnis false wird, da hier ja der Wert eines Bitfeldes getestet wird, und das Ergebnis somit nicht als Zahl vergleichen werden sollte. Es könnte auch negativ sein, wenn man es als Zahlwert ansieht.
Deshalb <> 0 oder = WS_CAPTION
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz