很多控件都有一个CreateParams过程,用来修改创建控件时的一些参数?我想问一下如何Override这个过程?我知道TFORM的书写格式,可如果在FORM上加一个EDIT,那么如何Override这个EDIT的CreateParams呢?
谢谢
谢谢
解决方案 »
- 整理硬盘,无意间发现一张月亮的清晰照片,贴出来共赏
- 请教如何获取cxgrid筛选记录的index
- 如何画出白色的底色,上面有规律的排列着图标? 就像WINDOWS文件夹用“缩略图”或“图标”形式查看一样?
- 这句C语句如何翻译成DELPHI语句
- 请教Clientsocket、Serversocket的type属性。
- 如何调用运行中未创建的窗体?
- 怎么创建DLL
- 急!混音算法或者对mmtools控件熟练。现金支付
- 50分for:怎样在form show以后就执行一个函数??
- 请问:谁知道那里有能将dateset的数据直接倒到excel的控件或者有没有什么比较好的方法除了先读出记录然后一条条的在excel控件的表格里写入还有其他方法吗?
- SQL SERVER连接超时问题
- 如何将edit里的输入自右向左顺序,就象计算器的显示一样。
procedure yourproc(params: yourtype);override;//声明子类方法时加上override,表示子类将重载父类的方法
假设你定义了一新基类如下:
type
TClass1=Class
private
protected
varStr:string;
procedure Method001;dynamic
public
constructure Create;
end;
方法的实现如下:
TClass1.Create;
begin
varStr:='this is the first class create method.';
end;
TClass1.Method001;
begin
///
end; TClass1.Method002;
begin
///
end;
而现在由于需要你要创建一个新的类,而却要拥有TClass1的所有可以继承的方法。那么构建后如下:
type
TClass1=Class
private
varStr:string;
protected
procedure Method001;override;
public
constructure Create;
end;
方法的实现如下:
TClass2.Create;
begin
inherited Create;{注意了,在这儿如果你想让在对象创建时仍然使 varStr保持父类的值'this is the first class create method.'那么此处久的使用inherited关键字调用Create构造器的时候调用父类的构造器方法实现的内容。反之则不。}
end;
TClass2.Method001;
begin
Inherited Method001;{合上述一样}
end; TClass2.Method002;
begin
///
end;
或单独先写这个类,注册,再拖到窗体上。
TEditx = class(TEdit)
procedure CreateParams(var Params :TCreateParams); Override;
end;
然后在FORM声明中加一个TEditx实例就OK了,以前我曾在FORM中用
procedure TEdit.CreateParams(var Params: TCreateParams); Override;重载这个方法,老是报错。
呵呵,现在明白了。不过还是谢谢。