Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Taskleiste taucht plötzlich auf (https://www.delphipraxis.net/78933-taskleiste-taucht-ploetzlich-auf.html)

-=cats=- 13. Okt 2006 11:09


Taskleiste taucht plötzlich auf
 
Hi :)

Also, ich starte meine Form im maximierten Zustand.

Dafür habe ich diesen Code genommen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
   SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
   hoehe := ClientHeight;
   breite := ClientWidth;
   ClientHeight := Screen.Height - 5;
   ClientWidth := Screen.Width - 5;
   Form1.Top := 0;
   Form1.Left := 0;
   Refresh;
end;
Das funktioniert auch alles. Die Taskleiste ist auch verschwunden.
(BorderStyle = bsSizeable).
Dann klicke ich auf "Normalzustand" und die Taskleiste ist da. Das soll
sie auch sein.
Wenn ich jetzt auf den MaximierenButton in der Titelleiste
klicke, bleibt die Taskleiste da ...
Wie bekomme ich die weg ?

Zum Maximieren über die Titelleiste habe ich diesen Code:

Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
  if WindowState = wsMaximized then
  begin
   Button1.Visible := false;
   SpeedButton1.Visible := true;
   SpeedButton2.Visible := true;
   SpeedButton3.Visible := true;
   SpeedButton4.Visible := true;
    SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
  end;
end;
Weiß vielleicht jemand woran das liegt ? :coder2:

TurboMartin 13. Okt 2006 11:22

Re: Taskleiste taucht plötzlich auf
 
Zitat:

Zitat von -=cats=-
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
  if WindowState = wsMaximized then
  begin
   Button1.Visible := false;
   SpeedButton1.Visible := true;
   SpeedButton2.Visible := true;
   SpeedButton3.Visible := true;
   SpeedButton4.Visible := true;
    SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
  end;
end;
Weiß vielleicht jemand woran das liegt ? :coder2:

Hatte ich gestern nicht das mit FormResize??? :gruebel:

procedure TForm1.FormResize(Sender: TObject);
begin
if WindowState = wsMaximized then
begin
Button1.Visible := false;
SpeedButton1.Visible := true;
SpeedButton2.Visible := true;
SpeedButton3.Visible := true;
SpeedButton4.Visible := true;
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
end;
end;
[/delphi]

-=cats=- 13. Okt 2006 13:18

Re: Taskleiste taucht plötzlich auf
 
Ja aber mit FormResize geht das nicht.
Dann merkt er irgendwie erst später, das er maximiert war.
Also, ich maximiere und es passiert nichts.
Erst wenn ich eine andere Aktion durchführe,
macht er die Änderung.
Und mit dem Paint geht es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 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