事件处理?消息?高手请进。。。。。(10分)

  • 主题发起人 主题发起人 WTO_LOVER
  • 开始时间 开始时间
W

WTO_LOVER

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:
父类:ACLASS 为一个FORM窗体,其中有TTIMER记时器IVTERVAL:=1000,ONTIMER事件中
处理一个过程,
子类BCLASS继承与ACLASS,无窗体,我想在ACLASS的ONTIMER事件发生后BCLASS中再处理一个
过程;(是否可用消息检测ACLASS的OTIMER事件,我该如何作?如何检测TIMER事件的发生
,毕竟他们是继承关系,其他方法也可以?)
帮我一把?
 
TMyEvent = procedure(.....) of object;

FEvent: TMyEvent;

AClass
ONTimer:
if assigned(FVent) then
FEvent(......)
 
thank you FIRST!
能否详细点,我在BCLASS类中如何写,我对事件,类对象不太熟悉;
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, ExtCtrls;

type
TAClass = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
FOnTimer: TNotifyEvent;
{ Private declarations }
public
published
Property OnTimer:TNotifyEvent Read FOnTimer Write FOnTimer;
{ Public declarations }
end;

TBClass = class(TAClass)
private
FOnTimer: TNotifyEvent;
procedure OnTimerEvent(Sender: TObject);
procedure DoYourEvent;
public
constructor Create(AOwner: TComponent)
override;
published
Property OnTimer:TNotifyEvent Read FOnTimer Write FOnTimer;//属性重载.
end;

implementation

{$R *.dfm}

procedure TAClass.Timer1Timer(Sender: TObject);
begin
if Assigned(FOnTimer) then
FOnTimer(Self);
end;

{ TBClass }

constructor TBClass.Create(AOwner: TComponent);
begin
inherited;
OnTimer:=OnTimerEvent;//处理父类的OnTimer事件;
end;

procedure TBClass.DoYourEvent;
begin
//想做什么都可以!
end;

procedure TBClass.OnTimerEvent(Sender: TObject);
begin
if Assigned(FOnTimer) then//当父类事件触发时触发自己的事件;
FOnTimer(Self);
DoYourEvent;//再做自己的事!
end;

end.
 
THANKS
不过我的事件怎么触发不了;
 
procedure addvalue1(var msg:TWMTIMER);message WM_TIMER;
我的消息为什么没有触发,我检测到TIMER已经启动了,HELP?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
608
import
I
I
回复
0
查看
571
import
I
后退
顶部