楼主既然是初学DELPHI,建议先不要着急动手写自己的代码,如果你想学好的话!
如果愿意听的话,我就来唠叨几句:
首先,放下手中的代码,把书(如果没有,去买一本,如果有多本,选择一本,不要太深)
从头到尾看一遍,看不懂没关系,但要用心,要有个形象的认识.
然后开始真正的学习,照着书上的一章章来,一个个例子来,熟悉她,多花点时间.
搞不懂的可以跳过,也许哪天回过头来看看就明白了,用不着在一个地方卡死.
好了,一本书看完你就可以写自己的代码了,书上的东东不可能都记住,不懂再翻.
写了一段时间代码后你就可以放开书了,因为书上的东东(仅指带你入门的书)你已经
学得差不多了,可以选择一本更高深的书,如<DELPHI5开发人员指南>,还有在线帮助,
上论坛,这样就很少有问题能难倒你了.
废话了这么多,切入正题
1.新建一Form,命名为FrmBaseMDIChild,设置相关属性(如FormStyle=fsMDIChild),
并在public部分加上这行
constructor Create(AOwner: TComponent);reintroduce;override;
2.然后按Ctrl+Shift+C,DELPHI将自动为你建立以下代码:
constructor TFrmBaseMDIChild.Create(AOwner: TComponent);
begin
inherited;
end;
3.把上面的代码改为
constructor TFrmBaseMDIChild.Create(AOwner: TComponent);
begin
//MDIMainForm为 [MDI主窗体] ,如果不想引用,可以用全局变量保存
LockWindowUpdate(MDIMainForm.Handle); //锁定MDI主窗口,禁止刷新
try
inherited; //子窗体的动画会在inherited时发生
finally
LockWindowUpdate(0); //解锁
end;
end;
保存
4.点菜单File->New->Other,翻到以你的工程名命名的页(如Project1),选择
刚才命名的Form(FrmBaseMDIChild),下面三个单选按钮分别代表复制,继承,引用.
在这里只能继承,确定后就新建了TFrmBaseMDIChild的一个子类,这就是可视化继承的
一个用法,然后在新建的窗体中做你想做的事,而TFrmBaseMDIChild只做为基类,不应该
有实例.
如果你不想再设计一次,也可以,把第4步改为
4.打开你已经设计好的单元,在interface的uses下面加上TFrmBaseMDIChild所在的单元,
如BaseMDIChildFrm,然后把(假设你的窗体名称为Form1)
TForm1 = class(TForm)
改为
TForm1 = class(TFrmBaseMDIChild)
保存,查看窗体(F12),右击窗体弹出菜单,选择View as Text(或快捷键Alt+F12),查看
.dfm文件,把第一句的
Object Form1 : TForm1
改为
inherited Form1 : TForm1
再按Alt+F12,保存,这样就把你的窗体改成了TFrmBaseMDIChild的子类
好了,运行试试看,有没有达到效果