如何使mdi子窗体始终处于最大化

creativecn 2008-03-17 04:18:58
mdi子窗体设置其widowstate属性为wsMaximized,但一点击最大化按钮就变小了,我不想让mdi子窗体变小,让其始终处于最大化状态,如何实现?谢谢
...全文
228 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttwandln 2008-03-20
  • 打赏
  • 举报
回复
MDI FORM
1,windowstate:=wsmaximized;
2,borderlcons中的
biminimize:=false;
bimaximize:=false;
leeoky2008 2008-03-19
  • 打赏
  • 举报
回复
同意1楼的。
starluck 2008-03-19
  • 打赏
  • 举报
回复
把我这段代码里的 frmNAV换成你的窗体名称。上面是过程的定义,下面是实现。
starluck 2008-03-19
  • 打赏
  • 举报
回复
procedure WMSize(var Message: TWMSize); message WM_SIZE;


procedure TfrmNav.WMSize(var Message: TWMSize);
begin
inherited;

if message.SizeType in [0..9] then
begin
frmNav.WindowState := wsMaximized;
end;

end;
creativecn 2008-03-19
  • 打赏
  • 举报
回复
1楼的做法不对,我试过,显示时都不是最大化了.
6楼的看不懂.
hsmserver 2008-03-18
  • 打赏
  • 举报
回复
const
NOSIZETAG = -10000;
procedure WMSize(var message: TWMSize); message WM_SIZE;


procedure frmMDI.WMSize(var message: TWMSize);
var
H:HWND;
begin
if Tag <> NOSIZETAG then
begin
if (message.SizeType = SIZE_MINIMIZED) or (message.SizeType = SIZE_RESTORED) then
begin
H := SendMessage(MainForm.ClientHandle, WM_MDIGETACTIVE, 0, 0);
SHOWWINDOW(Handle, SW_MAXIMIZE);
SendMessage(MainForm.ClientHandle, WM_MDIACTIVATE, Word(H), 0);
end
else
inherited;
end;
end;
Ascn 2008-03-18
  • 打赏
  • 举报
回复
怎么会?我一直都是这样设置子窗体属性就能解决的(一个是设置为MDI子窗体,一个是设置其状态为最大化,这样就已经OK了呀)
所得寺内 2008-03-18
  • 打赏
  • 举报
回复
DefMDIChildProc
dulei115 2008-03-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 knife_s 的回复:]
OnResize中写代码
[/Quote]
最小化的时候不会触发OnResize事件
knife_s 2008-03-17
  • 打赏
  • 举报
回复
OnResize中写代码
dulei115 2008-03-17
  • 打赏
  • 举报
回复
最简单的办法,设置BorderIcons属性,将mdi子窗体的那几个按钮全部去掉

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧