滨
滨滨
Unregistered / Unconfirmed
GUEST, unregistred user!
在Controls.pas中TControl的消息处理句柄
procedure TControl.WMLButtonDblClk(var Message: TWMLButtonDblClk);
begin
SendCancelMode(Self);
inherited;
~~~~~~~~~~
if csCaptureMouse in ControlStyle then MouseCapture := True;
if csClickEvents in ControlStyle then DblClick;
DoMouseDown(Message, mbLeft, [ssDouble]);
end;
中inherited;一句会调用父类的哪一个方法呢?按Delphi的帮助,单独的inherited;会调用父类中的同名方法,但我并没有发现TControl的父类的同名的过程啊?
我跟踪以后竟发现
inherited;调用的结果是:
procedure TCustomForm.DefaultHandler(var Message);
我实在是想不通!!!
除此之外,所有TControl的消息处理句柄,只要有inherited;调用,一律调用到TCustomForm.DefaultHandler去了,可是这两个类的方法之间哪有什么继承关系???
而且TControl是父,TCustomForm是子,这个不带任何参数的inherited怎么就调用到那里去了呢?
procedure TControl.WMLButtonDblClk(var Message: TWMLButtonDblClk);
begin
SendCancelMode(Self);
inherited;
~~~~~~~~~~
if csCaptureMouse in ControlStyle then MouseCapture := True;
if csClickEvents in ControlStyle then DblClick;
DoMouseDown(Message, mbLeft, [ssDouble]);
end;
中inherited;一句会调用父类的哪一个方法呢?按Delphi的帮助,单独的inherited;会调用父类中的同名方法,但我并没有发现TControl的父类的同名的过程啊?
我跟踪以后竟发现
inherited;调用的结果是:
procedure TCustomForm.DefaultHandler(var Message);
我实在是想不通!!!
除此之外,所有TControl的消息处理句柄,只要有inherited;调用,一律调用到TCustomForm.DefaultHandler去了,可是这两个类的方法之间哪有什么继承关系???
而且TControl是父,TCustomForm是子,这个不带任何参数的inherited怎么就调用到那里去了呢?