是否可以在 Delphi 中禁止最小化表单\应用程序?
我找到了以下代码:
procedure TForm1.WMShowWindow(var Msg: TWMShowWindow);
begin
if not Msg.Show then
Msg.Result := 0
else
inherited;
end;
但是,如果我按 Windows 键 + M 或 WindowsKey + D,它仍然会被最小化。有没有办法防止这种情况?
将 BorderIcons.bsMinimized 设置为 false(将其从集合中删除)将适用于 WindowsKey + M,但不会停止 WindowsKey + D。我认为这是有道理的。两者之间的区别在于第一个是要求所有窗口最小化,而第二个是用户明确请求查看他们的桌面。覆盖后者可能会惹恼用户(类似于强迫自己集中注意力)。
或者您可以放置一个键盘挂钩并抓住 winkey+d 或 winkey+m 并保持您的表单最大化。
只需将这样的代码放入表单onShow事件中:
WindowState:=wsMaximized;
对于OnCanResize这个:
if (newwidth<width) and (newheight<height) then
Resize:=false;