AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Form.WindowState := wsMaximized mit/ohne Maximize-Button

Form.WindowState := wsMaximized mit/ohne Maximize-Button

Ein Thema von r_kerber · begonnen am 27. Mär 2005 · letzter Beitrag vom 9. Mai 2005
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 27. Mär 2005, 20:04
Folgendes Problem: Ich maximiere ein Fenster zur Laufzeit mit
  Form1.WindowsState := wsMaximize; Wenn in diesem Fenster auch ein Maximize-Button (BorderIcons.biMaximize ist true) ist, dann wird es korrekt angezeigt, also unterer Abschluß der Form über der Windows-Taskbar. Laß ich diesen Button weg, dann wird das Fenster zu groß und ich muß die Taskbar ausblenden, wenn ich alles sehen will. Wie schaffe ich es, daß das Fenster den gesamten Bildschirmbereich oberhalb der Taskbar einnimmt, es aber keine Möglichkeit, das Maximieren zu beenden?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 27. Mär 2005, 20:12
Setzt du die Eigenschaft zur Designzeit und wird dann dein Programm gestartet, weiß das Fenster nicht, wie hoch die Taskbar ist und kann diese nicht berücksichtigen. Wird es maximiert, wenn es schon läuft, weiß es wie hoch die Taskbar ist und kann diese berücksichtigen.

Lösung:
Setzte die Eigenschaft im OnShow Ereignis:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  WindowState := wsMaximized;
end;
Dann funktioniert es bei mir.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 27. Mär 2005, 20:20
Hab's sowohl im OnFormShow als auch im OnActivate probiert. Es geht nicht ohne Maximize-Button!
  Mit Zitat antworten Zitat
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 11:56
Hallo,

ich hab grad das selbe Problem
Hat jmd. schon ne Lösung oder nen Workaround?

Gottes Segen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:08
Zitat von r_kerber:
Hab's sowohl im OnFormShow als auch im OnActivate probiert. Es geht nicht ohne Maximize-Button!
Hai Rainer,

kann ich bei mir nicht bestätigen. Das Fenster bedeckt exakt den Desktop ohne die Taskleiste.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#6

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:10
Zitat von Sharky:
kann ich bei mir nicht bestätigen. Das Fenster bedeckt exakt den Desktop ohne die Taskleiste.
Und wann maximierst Du?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:13
Zitat von r_kerber:
...Und wann maximierst Du?
Im OnShow und OnActive versucht. In beiden Fällen das gleiche bei mir.
Du meinst doch so wie im Anhang oder?
Miniaturansicht angehängter Grafiken
form_194.jpg  
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#8

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:23
Zitat von Sharky:
Du meinst doch so wie im Anhang oder?
Sieht eher so aus, als ob die Form hinter der Taskbar ist...

Workaround für primären Monitor...
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);

{$IFDEF WIN32}
var
  WorkArea: TRect;
{$ENDIF}
begin
{$IFDEF WIN32}
  if SystemParametersInfo(SPI_GETWORKAREA, 0, Addr(WorkArea), 0) then
    with WorkArea do
      SetBounds(Left, Top, Right - Left, Bottom - Top)
  else
{$ENDIF}
    // fallback
    WindowState := wsMaximized;
end;
...für mehrere Monitore gibt's sicher auch Lösungen (hab nur nicht die VCL-Referenz zur Hand "Wie komme ich an die Bildschirm-Koordinaten" *g*).

edit: lang lebe der tippfäler...
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#9

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:32
Zitat von Sharky:
In beiden Fällen das gleiche bei mir.
Du meinst doch so wie im Anhang oder?
Dann füge mal eine TStatusBar ein und gucke, ob du diese noch siehts!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Form.WindowState := wsMaximized mit/ohne Maximize-Button

  Alt 9. Mai 2005, 13:35
Zitat von r_kerber:
Dann füge mal eine TStatusBar ein und gucke, ob du diese noch siehts!
Platsch. Da bin ich ja voll auf die Nase gefallen Sorry.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:33 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