怎样关闭MDIChildren窗体,
我试用了 Form1.MDIChildren[0].close;会有错!
若用 Action:=acFree; 也会有错,提示是:不兼容的类型:TBasicAction and TCloseAction
若直接用 Form1.close; 则是把 子窗体最小化到父窗体的左下角,我想把它关闭而不是
最小化到父窗体的左下角,到底要怎么做?
谢谢!!!
我试用了 Form1.MDIChildren[0].close;会有错!
若用 Action:=acFree; 也会有错,提示是:不兼容的类型:TBasicAction and TCloseAction
若直接用 Form1.close; 则是把 子窗体最小化到父窗体的左下角,我想把它关闭而不是
最小化到父窗体的左下角,到底要怎么做?
谢谢!!!
解决方案 »
- fastreport 打印一张报表,分2页打印怎么设置
- 这看起来很简单的问题难倒多少高手??? windows.SetParent(form2.Handle, form1.Handle);
- 求解决语音聊天问题!
- delphi组合SQL语句参数不附值问题
- 谁有activeform换皮肤控件
- 一个日期类型的问题,请高手们帮帮忙,小弟在线等待!!!!
- 100分急求救:怎样在表1的一个记录中“所在部门“字段中用下拉菜单显示表兄弟的“部门名称“中的整个字段的
- 怎样分发用bde访问数据库的程序?
- 大家来看看,100分,这个问题不难!
- 使用资源文件的好处是什么?用记事本怎样编辑一个资源文件?
- 一个很有“价值”的问题!!!!(数据库连接)
- (ADO)从数据库里读出数据在DBGRID里显示,如何在数据库连接断开之后DBGRID仍然显示读出的数据。
procedure Tfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
frm.Close;
Action:=CaFree;
end;不要把Action包含在with 语句内
procedure TForm2.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
Form2:= nil;
end;
//主窗体
for i := Form1.MDIChildCount -1 downto 0 do
begin
Form1.MDIChildren[i].Close;
end;
var Action: TCloseAction);
begin
Action:=caFree;
Form2:=nil;
end;
action := cafree就可以,我就是这么用的,没问题
这是怎么回事!
Action := caFree;
是唯一正确的方法。提示“不兼容的类型”是因为你引用的Action变量不是OnClose事件中定义的参数变量。
前面几位居然在类的方法中直接引用的类的实例,这是应该尽力避免的,虽然这样做并不必然导致问题。