当前位置:主页>仓库管理软件> 列表

FormCreate之前还有没有事件? 找服装店会员管理软件

库存管理软件版1楼: 我做了一个窗体,增加了一个属性,属性如何设置初始值?我想在FormCreate之前就设置

2楼: 窗体都没有创建,你如何赋值啊? 如仓库进销存管理

3楼: 在OnShow或Create事件设置吧

4楼: 楼上的搞笑!
你要给一个类的实例的某个成员赋值,如果该类的实例都没有创建,如何赋值啊?

5楼: Application.Initialize;

6楼: Unit 中 initialization 和 finalization 关键字是最初运行和最后运行的代码,
楼主可以在这里做文章。

库存管理软件版7楼: 可以的,我记得好像 继承 CreatePara..override 什么的,就可以做,以前写过,记不太清楚,也不想去查了,所以请教各位

8楼: royal1442兄误会了,我当然明白你的意思

楼主的意思是想给窗体某些属性赋初值,我建议在OnShow或Create里做

9楼: 在Create事件设置不就可以啦,

10楼: 重载类的构造函数,把属性变量作为参数传进去

11楼: 不管什么时候,在哪里赋值,都必须在实例创建以后!

12楼: 当然可以在Unit的 initialization部分做文章,该部分就是在FormCreate之前要执行的代码 如服装店会员管理软件

13楼: constructor Create(AOwner: TComponent); override; ?

库存管理软件版14楼: constructor Create(AOwner: TComponent); reintroduce;

constructor TForm1.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
//属性赋值..
end;

15楼: 麻子,good

16楼: 为什么一定要在Create之前做呢

17楼: initialization

18楼: 找到了,一下子就找到了,可以继承几个方法,都可以在用户窗口FormCreate事件之前写代码,当然喽,那时候窗口对象是已经创建的。我用的是CreateParams方法。在这里与大家分享。
创建一个新窗口,在保护段写上:
procedure CreateParams(var Params: TCreateParams); override;
begin
//你的代码
WindowState:=wsMax..;
inherited;
end;
为了证实所言不虚,在FormCreate事件中也写上代码,如ShowMessage,然后,你试试。

又有新贴,请大家帮忙:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3328005

19楼: 这个是给你设置窗口风格什么的啊..
此时对象可能已经建立, 但是窗口还未建立..
不过能达到目的就行了, 呵呵.. :)
关于CreateParams, 可以看看俺这个
http://bbs.2ccc.com/topic.asp?topicid=143492

20楼: 对于Windows来说没有创建,但对于Delphi OOP来说,已经创建了
谢谢麻子