加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:12:52 所属栏目:大数据 来源:网络整理
导读:在delphi mdi应用程序中,当使用按下最大化按钮时,需要在Mainform客户区域中显示带有标题的子窗口 Win32Check(Windows.GetClientRect(ClientHandle,aTRect));MDIChild1.BoundsRect := aTRect; 功能. 那么,当按下最大化按钮时,我们如何防止MDI子项被最大化?
在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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读