gpt4 book ai didi

delphi - delphi中最大化表单的正确方法(无标题)

转载 作者:行者123 更新时间:2023-12-03 15:07:22 25 4
gpt4 key购买 nike

我有一个没有标题的表单,双击即可最大化:代码如下所示:

procedure xxxxxx; 
begin
if Form1.WindowState=wsNormal then
begin
Form1.WindowState:=wsMaximized;
Form1.SetBounds(0,0,screen.Width,screen.Height-getHeightOfTaskBar);
end
else
begin
Form1.WindowState:=wsNormal;
end;

ShowTrayWindow;
end;
function getHeightOfTaskBar : integer;
var hTaskBar:HWND;
rect : TRect;
begin
hTaskbar := FindWindow('Shell_TrayWnd', Nil );
if hTaskBar<>0 then
GetWindowRect(hTaskBar, rect);

Result:=rect.bottom - rect.top;
end;

这很好用,只是我必须找出任务栏在哪里来重置 SetBounds ...

正确的做法是什么?

谢谢。

最佳答案

听起来不错,但正如 Drejc 指出的那样,任务栏可以出现在任何地方,其他停靠侧边栏(如 Google Desktop、Winamp 等)也可以出现。

也许可以使用 Screen.WorkAreaRect 之类的东西来获取屏幕的工作区。例如

with Screen.WorkAreaRect do
Form1.SetBounds(Left, Top, Right - Left, Bottom - Top);

关于delphi - delphi中最大化表单的正确方法(无标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/380217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com