delphi自定義事件

2022-05-09 02:18:11 字數 1189 閱讀 8468

為什麼我們點選按鈕,就會執行按鈕的onclick事件?這個事件是怎麼和我們自己的**關聯起來的。相信很多人都有這個疑問。那麼我們就通過乙個自定義事件來了解這裡面得執行原理。以乘法運算來顯示,如果乘數大於100,就提示使用者,太大了。這個事件用自定義事件定義。

我新增了三個文字框,乙個按鈕,當第一或者第二個文字框的數》100時,點求積按鈕,提示too big 對話方塊。

完成自定義事件需要5步來做:

1.定義tnotifyevent型別私有變數

ftoobig:tnotifyevent;

ftoobig是乙個指標,它可以保持事件方法的呼叫位址。

2.公布乙個屬性

published

property ontoobig:tnotifyevent read ftoobig write ftoobig;

ontoobig這個屬性用來操作ftoobig這個私有變數,因為ftoobig是個函式指標,所以但讀這個變數時,也就呼叫了函式。

3.定義事件處理函式

這是當文字框數太大時執行的方法。

4. 把事件處理函式賦值給tnotifyevent私有變數

ftoobig := toobigevent;

5. 當條件符合時執行事件處理函式

procedure tform1.button1click(sender: tobject);

var

val1 : integer;

val2 : integer;

res  : integer;

begin

val1 := strtoint(edit1.text);

val2 := strtoint(edit2.text);

if(val1<100)and(val2<100) then

begin

res := val1*val2;

edit3.text := inttostr(res);

end

else

if assigned(ftoobig) then ontoobig(self);

end;

下面貼出全部**:

自定義事件

public event eventhandleropenprogress private void onopenprogress progresseventargs e if openprogress null openprogress this,e public class progressev...

自定義事件

簡單的自定義事件 首先定義乙個類來監聽客戶端事件,這裡我們監聽鍵盤的輸入。定義乙個委託。public delegate void userrequest object sender,eventargs e 前面的object用來傳遞事件的發生者,後面的eventargs用來傳遞事件的細節,現在暫時沒...

Delphi自定義類

類的宣告 有兩種宣告辦法 一 自定義類的父類delphi內建類 type 類名 class 父類 成員表示式 end 1 保留字class說明該類是dephi內建類,將繼承父類的屬性和方法 2 父類 預設是delphi的祖先類tobject 二 完全自定義的類 type 類名 object 父類 成...