当Form.BorderStyle = bsNone时,最大化会把任务栏给盖住
procedure TForm1.InImage3DblClick(Sender: TObject);
begin
if TForm(TImage(Sender).parent).WindowState=wsMaximized then
begin
TForm(TImage(Sender).Parent).WindowState:=wsNormal;
end else
begin
TForm(TImage(Sender).Parent).WindowState:=wsMaximized;
Height := Screen.Height - GetTaskBar; // 加上这一句就可以实现。
end;
end;
得到任务栏的高度
uses ShellAPI;
function GetTaskBar:integer;
var
abd:TAppBarData;
begin
abd.cbSize:=sizeof(abd);
SHAppBarMessage(ABM_GETTASKBARPOS,abd);
Result:=abd.rc.Bottom-abd.rc.Top;
end;