有两个FORM(FORM1 FORM2)
将FORM1的formstyle设置为fsMDIForm
将FORM2的formstyle设置为fsMDIChild
运行。正常
但是我再把两个FORM的formstyle改回fsNormal却还是两个窗口一起跳出来,只是不再是MDI模式。我希望恢复正常模式,请问该怎么办
将FORM1的formstyle设置为fsMDIForm
将FORM2的formstyle设置为fsMDIChild
运行。正常
但是我再把两个FORM的formstyle改回fsNormal却还是两个窗口一起跳出来,只是不再是MDI模式。我希望恢复正常模式,请问该怎么办
解决方案 »
- 我想检测一个IP的指定端口是否开放!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 难:想在 WindowsMediaPlay 控件上写几个透明字,请会的朋友帮忙。
- Delphi 类的问题
- 哪位有斑马机(Zebra)打印汉字和条码的例子?
- delphi5.0到delphi6.0时,quickrep出错,不知为何?在线等!
- 如何在DELPHI下实现想MFC程序中那样的 打开文件的窗口?欢迎指点,UP有分;谢谢;
- 为什么老是没人回答我的问题:我有张工资表GZB想将其转换成Excel文件,望高手能够指点指点。(只有最后20分了有分一定补上!)
- DELPHI对ACCESS数据库的查询
- 请问如何设置密码位数为固定的?
- ADOTable没有EmptyTable方法,只有自己写个循环逐记录的删吗?
- 数据插入问题,谢谢
- 请大虾们介绍几本好的DELPHI教材
或直接改DPR文件,把
Application.CreateForm(TForm2, Form2);
删除
然后在form1的
implementation
uses unit2;
{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
with form2.Create(nil) do
begin
show;
end;
end;end.
var
OldStyle: TFormStyle;
begin
if FFormStyle <> Value then
begin
if (Value = fsMDIChild) and (Position = poDesigned) then
Position := poDefault;
if not (csDesigning in ComponentState) then DestroyHandle;
OldStyle := FFormStyle;
FFormStyle := Value;
if ((Value = fsMDIForm) or (OldStyle = fsMDIForm)) and not Ctl3d then
Color := NormalColor;
if not (csDesigning in ComponentState) then UpdateControlState;
if Value = fsMDIChild then Visible := True;////
end;
end;
注意这一行,当你设置了FSMDICHILD后,VISBLE已经是TRUE了,而你改变回来了以后;VISBLE仍然执行;为TRUE;这就是原因;