如何设置Delphi中MDI子窗口禁止最大化功能?

更新于
2026-10-05 01:16:35
3阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计191个文字,预计阅读时间需要1分钟。

在Delphi MDI应用程序中,当按下最大化按钮时,需要在Mainform客户区域中显示带有的子窗口。使用Win32函数GetClientRect获取客户端区域大小,并将子窗口的边界设置为该大小。代码如下:

delphiWin32Check(Win32.GetClientRect(ClientHandle, aTRect));MDIChild1.BoundsRect :=aTRect;

在delphi mdi应用程序中,当使用按下最大化按钮时,需要在Mainform客户区域中显示带有标题的子窗口

Win32Check(Windows.GetClientRect(ClientHandle, aTRect)); MDIChild1.BoundsRect := aTRect;

功能.

那么,当按下最大化按钮时,我们如何防止MDI子项被最大化?

我试过用它来做

procedure TChildText.WMSYSCOMMAND(var Message: TWMSYSCOMMAND); var aTRect:TRect; begin inherited; case message.CmdType of SC_MAXIMIZE: begin Win32Check(Windows.GetClientRect(MainForm.ClientHandle, aTRect)); BoundsRect := aTRect; end; end; end;

没有结果.

procedure TChildText.WMSYSCOMMAND(var Message: TWMSYSCOMMAND); var aTRect:TRect; begin if message.CmdType = SC_MAXIMIZE then begin Win32Check(Windows.GetClientRect(MainForm.ClientHandle, aTRect)); BoundsRect := aTRect; message.CmdType := SC_RESTORE; end; inherited; end;

本文共计191个文字,预计阅读时间需要1分钟。

在Delphi MDI应用程序中,当按下最大化按钮时,需要在Mainform客户区域中显示带有的子窗口。使用Win32函数GetClientRect获取客户端区域大小,并将子窗口的边界设置为该大小。代码如下:

delphiWin32Check(Win32.GetClientRect(ClientHandle, aTRect));MDIChild1.BoundsRect :=aTRect;

在delphi mdi应用程序中,当使用按下最大化按钮时,需要在Mainform客户区域中显示带有标题的子窗口

Win32Check(Windows.GetClientRect(ClientHandle, aTRect)); MDIChild1.BoundsRect := aTRect;

功能.

那么,当按下最大化按钮时,我们如何防止MDI子项被最大化?

我试过用它来做

procedure TChildText.WMSYSCOMMAND(var Message: TWMSYSCOMMAND); var aTRect:TRect; begin inherited; case message.CmdType of SC_MAXIMIZE: begin Win32Check(Windows.GetClientRect(MainForm.ClientHandle, aTRect)); BoundsRect := aTRect; end; end; end;

没有结果.

procedure TChildText.WMSYSCOMMAND(var Message: TWMSYSCOMMAND); var aTRect:TRect; begin if message.CmdType = SC_MAXIMIZE then begin Win32Check(Windows.GetClientRect(MainForm.ClientHandle, aTRect)); BoundsRect := aTRect; message.CmdType := SC_RESTORE; end; inherited; end;