怎样使用父类的事件(50分)

  • 主题发起人 主题发起人 abcok
  • 开始时间 开始时间
A

abcok

Unregistered / Unconfirmed
GUEST, unregistred user!
RichEdit1没有OnConstrainedResize事件,但它的祖上tcontrol有,我怎么用他呢?
对于我"老菜"最好直接给代码
 
tcontrol(RichEdit1).OnConstrainedResize
这样试试看.
 
使用继承的办法做一个新的类:
type
MyRichEdit=class(TRichEdit);
public
property OnConstrainedResize;
end;
然后使用MyRichEdit组件就行了
 
to jianguobu
老兄,我不懂啊,最好给完整的代码,就这1个控件为例
 
procedure aaa;
begin
showmessage('adfads');
end;

tcontrol(RichEdit1).OnConstrainedResize := aaa;

类似这样看行不行???
 
并不关注procedure aaa;的实现方法
问题是 tcontrol(RichEdit1).OnConstrainedResize := aaa;放在哪里
才能监测有OnConstrainedResize事件发生
 
当然是在你的form的初始化里呀
 
这样可以,已经测试:
type
TMyRichEdit=class(TRichEdit)
public
property OnConstrainedResize;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure MyConstrainedResize(Sender: TObject
var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer);
public
{ Public declarations }
end;
var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.MyConstrainedResize(Sender: TObject
var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer);
begin
//你要的事件
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyRichEdit.Create(Self) do
begin
Parent := Self;
OnConstrainedResize:= MyConstrainedResize;
Left := 50;
Top := 50;
end;
end;

 
干脆这样:
以RichEdit1为例,谁能给完整代码,并试验通过的给40分,其余大家分
如果生成新类,则新类应包括Trichedit的所有属性,仅仅是增
加了一个OnConstrainedResize而已.
 
OnConstrainedResize属性在TControl的protected段中,这样TControl(RichEdit1).OnConstrainedResize 行吗?
 
是不行,我试了.呵呵,我只是叫他试,我也是凭想像.
 
yostgxf 有戏
请问TMyRichEdit包括Trichedit的所有属性,仅仅是增加了一个OnConstrainedResize 吗?
Parent := Self
是什么意思? parent:=form1 也可以把?
 
1。是的,
2。可以(在这里self指你的Form1)
 
后退
顶部