Delphi 不希望表单最小化

Delphi 不希望表单最小化,delphi,minimize,Delphi,Minimize,是否可以禁止在Delphi中最小化表单\应用程序 我找到了以下代码: procedure TForm1.WMShowWindow(var Msg: TWMShowWindow); begin if not Msg.Show then Msg.Result := 0 else inherited; end; 但如果我按windows键+M或windows键+D,它仍然会最小化。 有没有办法防止这种情况发生?将BorderIcons.bsMinimized设置为false(

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

我找到了以下代码:

procedure TForm1.WMShowWindow(var Msg: TWMShowWindow);
begin
  if not Msg.Show then
    Msg.Result := 0
  else
    inherited;
end;
但如果我按windows键+M或windows键+D,它仍然会最小化。
有没有办法防止这种情况发生?

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

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

或者你可以放置一个键盘钩子,抓住winkey+d或winkey+m,保持窗体最大化。

或者你可以放置一个键盘钩子,抓住winkey+d或winkey+m,保持窗体最大化。

只需在显示事件时将以下代码放入窗体即可:

  WindowState:=wsMaximized;
对于OnCanResize来说:

  if (newwidth<width) and (newheight<height) then
    Resize:=false;

if(newwidth只需将此代码放入show事件中即可:

  WindowState:=wsMaximized;
对于OnCanResize来说:

  if (newwidth<width) and (newheight<height) then
    Resize:=false;

if(newwidth)和烦扰用户的bejeezus…然而,+1是一个正确的解决方案。在我的情况下,用户希望它保持maximisedHello Avar,感谢您的评论,您能给我保留maximisedAnna表单的代码吗,这可能是您正在寻找的(更像一个信息亭)。我发现了一些有趣的东西:“Show Desktop”发送命令“ToggleDesktop”,该命令向桌面(Progman)发送DTM_RAISE消息(WM_USER+83)以将其设置为前台。“我将尝试使用此命令编写一些内容,需要时间:)而且会惹恼你的用户的bejeezus…尽管如此,+1因为它是一个正确的解决方案。在我的情况下,用户希望它保持maximisedHello Avar,谢谢你的评论,你能给我保留maximisedAnna表单的代码吗,这可能是你正在寻找的(更像一个信息亭)。我发现了一些有趣的东西:“显示桌面”“发送命令“ToggleDesktop”,该命令将DTM_RAISE消息(WM_USER+83)发布到桌面(Progman)以将其设置在前台。“我将尝试使用此命令编写一些内容,需要时间:)在我的情况下,用户希望它保持最大化在我的情况下,用户希望它保持最大化