1

是否可以在 Delphi 中禁止最小化表单\应用程序?

我找到了以下代码:

procedure TForm1.WMShowWindow(var Msg: TWMShowWindow);
begin
  if not Msg.Show then
    Msg.Result := 0
  else
    inherited;
end;

但是,如果我按 Windows 键 + M 或 WindowsKey + D,它仍然会被最小化。有没有办法防止这种情况?

4

3 回答 3

11

将 BorderIcons.bsMinimized 设置为 false(将其从集合中删除)将适用于 WindowsKey + M,但不会停止 WindowsKey + D。我认为这是有道理的。两者之间的区别在于第一个是要求所有窗口最小化,而第二个是用户明确请求查看他们的桌面。覆盖后者可能会惹恼用户(类似于强迫自己集中注意力)。

于 2009-06-03T08:35:19.527 回答
2

或者您可以放置​​一个键盘挂钩并抓住 winkey+d 或 winkey+m 并保持您的表单最大化。

于 2009-06-03T09:11:46.083 回答
0

只需将这样的代码放入表单onShow事件中:

  WindowState:=wsMaximized;

对于OnCanResize这个:

  if (newwidth<width) and (newheight<height) then
    Resize:=false;
于 2012-08-08T14:57:32.953 回答