高手必看!(1分)

  • 主题发起人 主题发起人 china_ren
  • 开始时间 开始时间
C

china_ren

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能解答下面这句话的意思.
TKeyEvent = procedure(Sender: TObject; var Key: Word;
Shift: TShiftState) of object;

property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;
为何读写都用FOnKeyDown,且它是如何写入.
 
你问的是什么意思?看不懂嘛。

如何写入,不是有个 FOnKeyDown:TKeyEvent;吗?
 
是用TKeyEvent写入吗
 
好像是
先定義TKeyEvent 的過程類型為procedure(Sender: TObject; var Key: Word;
Shift: TShiftState) of object;
再說明事件OnKeyDown的類型為TKeyEvent ,
通過讀FOnKeyDown 可得其事件內容,
通過寫FOnKeyDown來更改OnKeyDown事件內容。
說得不好,不要見怪。
 
property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown;

你在哪里看到这个呢?
 
china_ren: 耍大刀呐
 
这是定义控件事件的方法。它必然伴随一个windows的消息处理过程象:
procedure TimerWndProc( var msg: TMessage );

当接收到windows的消息时,或轮询到一个消息就执行程序对控件付值的过程。
 
那个 TKeyEvent 是方法类型(过程类型),FOnKeyDown 是一个过程型变量(方法指针)
OnKeyDown 是这个控件发布(Published)的属性接口,它提供这个控件的事件,而事件
例程的指针就在 FOnKeyDown 里
 

Similar threads

I
回复
0
查看
462
import
I
I
回复
0
查看
553
import
I
I
回复
0
查看
682
import
I
I
回复
0
查看
600
import
I
后退
顶部