procedure TForm_Monitor.RestrictMaximize(var Message: TWMSyscommand); begin if Message.CmdType = SC_MAXIMIZE then begin with Form_Monitor do begin Left := Form_Main.Left; Height := screen.Height - Form_Main.Height; Width := screen.Width; Top := Form_Main.Top + Form_Main.Height; end; end else inherited; end; 效果有了,可是窗体最大化后,最大化按钮的图标没变????? 谁告诉一下,谢谢
......type TFmIsDoInvoice_Pay = class(TForm) ...... procedure WM_Size(var Message: TWMSize);message WM_SIZE; private { Private declarations } public { Public declarations } end;implementation{$R *.dfm}......procedure TForm.WM_Size(var Message: TWMSIZE); begin with Self do begin Left := 0; Height := Screen.Height - 120 - 30; //120 为主窗体,30 为任务栏 Width := Screen.Width; Top := 120; //120 为主窗体 end; inherited; end;......
不好意思上面第三行的窗体类应该是TForm
procedure TForm_Monitor.RestrictMaximize(var Message: TWMSyscommand); begin if Message.CmdType = SC_MAXIMIZE then begin with Form_Monitor do begin Left := Form_Main.Left; Height := screen.Height - Form_Main.Height; Width := screen.Width; Top := Form_Main.Top + Form_Main.Height; end;
Message.Result := 0; //加这一句,意思为:告诉Windows你改变 minmaxinfo end else inherited; end;
begin if Message.CmdType = SC_MAXIMIZE then
begin
with Form_Monitor do
begin
Left := Form_Main.Left;
Height := screen.Height - Form_Main.Height;
Width := screen.Width;
Top := Form_Main.Top + Form_Main.Height;
end;
end
else
inherited;
end;
效果有了,可是窗体最大化后,最大化按钮的图标没变?????
谁告诉一下,谢谢
另一个窗体Form2的FormStyle设置为:fsMDIChild
Form2就会在Form1的空白区显示.
TFmIsDoInvoice_Pay = class(TForm)
......
procedure WM_Size(var Message: TWMSize);message WM_SIZE;
private
{ Private declarations }
public
{ Public declarations }
end;implementation{$R *.dfm}......procedure TForm.WM_Size(var Message: TWMSIZE);
begin
with Self do
begin
Left := 0;
Height := Screen.Height - 120 - 30; //120 为主窗体,30 为任务栏
Width := Screen.Width;
Top := 120; //120 为主窗体
end; inherited;
end;......
begin if Message.CmdType = SC_MAXIMIZE then
begin
with Form_Monitor do
begin
Left := Form_Main.Left;
Height := screen.Height - Form_Main.Height;
Width := screen.Width;
Top := Form_Main.Top + Form_Main.Height;
end;
Message.Result := 0; //加这一句,意思为:告诉Windows你改变 minmaxinfo end
else
inherited;
end;