MDI 隐藏MDICHILD的系统菜单(100分)

  • 主题发起人 主题发起人 xihahi
  • 开始时间 开始时间
X

xihahi

Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题已经有人提过并回答了:

问题的标题是:如何隐藏MDICHILD的系统菜单(100分)

来自:唐晓锋 时间:98-11-27 14:13:15 ID:93327

procedure TXXXChildForm.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
with Params do
StYle := StYle xor WS_SYSMENU;
end;
Good Luck!


很惭愧,我不知道怎样使用以上提示,各位帮帮忙
 
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure CreateParams(var Params:TCreateParams);override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
with Params do
StYle := StYle xor WS_SYSMENU;
end;
 
这东西多麻烦,直接设定form1.bordericons.bisysmenu:=false
效果是一样的
 
To hubdog:
设定form1.bordericons.bisysmenu:=false 只对普通Form 有效,对MDIChild Form 无效。

To liu JZX:
form1 是MDIform 还是MDIChild ?怎样引用这个procedure?能讲得更清楚些吗?
 
如果form1是MDIform,form2是MDICHILD,只需在unit2单元中
TForm2 = class(TForm)
private
{ Private declarations }
public
//手工加入,将光标停留在这行上,按下Ctrl+Shift+C,自动生成下面过程
procedure CreateParams(var Params:TCreateParams);override;
end;


procedure TForm2.CreateParams(var Params:TCreateParams);
begin

end;

只需在加入如下代码即可
inherited CreateParams(Params);
with Params do
StYle := StYle xor WS_SYSMENU;
 
:)
不好意思,弄了半天,才发觉自己的问题并非如此,我的问题是:

如何使MDIChild 窗口就象程序启动画面的窗口一样,没有最上面的那个蓝条条?

我试过了,普通窗口将BorderStyle设为bsNone 就可以达到这种效果,但MDIChild窗口不行,各位有何方法?
 
procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
StYle := StYle and (not WS_CAPTION);
end;
 
多人接受答案了。
 
后退
顶部