当前位置 : 主页 > 编程语言 > delphi >

delphi如何防止MDI孩子最大化?

来源:互联网 收集:自由互联 发布时间:2021-06-23
在delphi mdi应用程序中,当使用按下最大化按钮时,需要在Mainform客户区域中显示带有标题的子窗口 Win32Check(Windows.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;
网友评论