Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

BorderStyle=nsNone und WindowState=wsMaximized

  Alt 15. Apr 2003, 20:13
Die Kombination von myForm.BorderStyle=bsNone (um ein rahmenloses Fenster zu erhalten) und myForm.WindowState=wsMaximized (um es zu maximieren) bringt i.A. den unerwünschten Effekt mit sich, dass die Taskleiste ebenfalls übedeckt wird. Die Lösung besteht darin, die Methode "RequestAlign" des Formulars zu überschreiben, um so die Größenänderung steuern zu können.

Zuerst die Deklaration:

Delphi-Quellcode:
TfrmMain = class(TForm)
...
  procedure RequestAlign; override;
...
private
...
public
...
end;
Und dann die Methode selber:

Delphi-Quellcode:
procedure TfrmMain.RequestAlign;
var rect : TRect;
begin
  SystemParametersInfo(SPI_GETWORKAREA, 0, @rect, 0);
  Constraints.MaxHeight:= rect.Bottom;
  inherited RequestAlign;
end;
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat