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