有两个窗口,一个是MDI主窗口,里面放置了一个按扭,用来打个后一个窗口的.还有一个是MDI子窗口.
问题是: 为什么我每点一次按扭,Mdi子窗口打开了,,但是不会关闭. 点关闭按扭都关不了呢....是不是要在哪里设置设置呀??
问题是: 为什么我每点一次按扭,Mdi子窗口打开了,,但是不会关闭. 点关闭按扭都关不了呢....是不是要在哪里设置设置呀??
解决方案 »
- 如何取出TADOQuery中的记录
- 字符串随机不重复排序
- 散分啦。。。。。D5,6里很多控件在7里都没有,D7如果想装这些控件应该怎么办?顶者有分。。。。
- 请大家看一下关于FASTREPORT的问题,在线等
- 数据库表的判断与建立
- 一个线程terminate后,好像只是free了,并没有把他变成nil。
- 我用FlatStyle里的TflatTitlebar,如何做出像优化大师标题栏一样的渐变色?
- Delphi中怎么进行串口通信啊?
- 使用ADOTable1.locate()方法时,如何避免出现:无法更新行集定位,可能一些数据在最后读取时已经改变的错误!
- 技术问题中的非技术问题》》》》》
- delphi中调用其它程序,被调用的Exe文件结束后才能获取焦点,类似showmod效果
- delphi里的xLabel是什么控件
要在子窗体的onclose事件中写:Action:=caFree;
var
form2:Tform2;
begin
form2:=Tform2.create(self);
form2.show;
end;
unit Unit18;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm18 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form18: TForm18;implementation{$R *.dfm}uses Unit17;procedure TForm18.Button1Click(Sender: TObject);
var
Form17: TForm17;
begin
Form17 := TForm17.Create(Self);
Form17.Show;
end;end.没有问题啊。Form17都没有加入FormClose事件也没有出现你前面说的无法关闭的问题。
uses Unit17;procedure TForm18.Button1Click(Sender: TObject);
begin
if Self.ActiveMDIChild = Form17 then
Self.ActiveMDIChild.Close;
Form17 := TForm17.Create(Self);
Form17.Show;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
open:Boolean=False;
implementation
uses Unit2;
{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);
var
form2:Tform2;
begin
if open=true then
self.ActiveMDIChild.close;
form2:=Tform2.Create(Self); Form2.Show;
open:=True;
end;end.
可以了..呵..