简单问题:我做了一个fsMDIForm的主窗体,然后附了很多fsMDIChild的子窗体,在关闭fsMDIChild的子窗体的时候怎么关不掉!(20分)

  • 主题发起人 主题发起人 rmb-xp
  • 开始时间 开始时间
R

rmb-xp

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个fsMDIForm的主窗体,然后附了很多fsMDIChild的子窗体,在关闭fsMDIChild的子窗体的时候怎么关不掉!就是点击关闭按钮就执行了最小化操作,点击叉号也一样,在线!
 
MDI风格的程序,建议动态生成子窗口,动态生成的子窗口才可以关闭掉,自动生成的关闭就会最小化。
 
这是一个动态生成子窗口的例子:

主窗体:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
new1: TMenuItem;
window1: TMenuItem;
Cascade1: TMenuItem;
procedure Cascade1Click(Sender: TObject);
procedure new1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses
Unit2;

procedure TForm1.Cascade1Click(Sender: TObject);
begin
Cascade
end;

procedure TForm1.new1Click(Sender: TObject);
var
Form2:TForm2;
begin
Form2 := TForm2.Create(Self);
Form2.Caption := TimeToStr(Now);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.WindowMenu := window1;
end;

end.

******************************************************************
子窗体:
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm2 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

end.
 
顺便问一下,这个错误是怎么回事呀:Missing operator or semicolon??在线!---
 
好像是说缺少操作符或引号
 
真是感动,miaofeng,我能不结贴吗,我可能还有其他的问题的,以上两个问题已经解决了,谢谢你!这个错误是什么呀:Abstract Error.?
 
一般可能是因为动态创建的子窗口向其他子窗口赋值方法不正确造成的。
 
我是用ado连接access的,我在登陆系统是判断用户名称和密码时出现的错误,能给我一个demo吗,顺便可以学学!嘿嘿(有点无赖哟)
 
手头好像没有这样的Demo:)
 
能帮我看看吗,:) too!
 
procedure TFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
 
其实很简单,在你的fsMDIChild 子窗体的OnClose事件中加入如下代码就可以了:

Action := caFree;

试试看,肯定可以的。Good Lucky!
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
回复
0
查看
813
不得闲
S
回复
0
查看
681
SUNSTONE的Delphi笔记
S
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
后退
顶部