allen 發問時間: 電腦與網際網路程式設計 · 1 0 年前

請教bcb可以自訂事件跟事件處裡嗎

小弟斷續自修vb.net一陣子,發現有一個地方之前使用bcb沒注意到,就是vb.net它可以用WithEvents自行定義事件與事件處理的程序.而之前用bcb因為都只是開發資料存取的程式,用的是現成元件,事件早就定義好了,想請教bcb裡面如果我要定義某一個類別(非vcl元件)的事件與事件處理,該如何做呢?

2 個解答

評分
  • Email
    Lv 6
    1 0 年前
    最佳解答

    這個對初學者來說很難,下面的程式碼看的懂就用,

    看不懂就自己去查微軟的 MSDK 說明和 BCB的 help檔說明吧.

    要創事件就是這麼簡單五行就搞定了。

    HWND hwndGETForm;

    void __fastcall ReceiverMsg_String(TMessage &Message); /* 你的事件名稱跟處理方法寫在這裡面,這裡假設你自創的事件名稱叫做 ReceiverMsg_String */

    /* 下面在跟windows系統註冊一個自己的事件,我建立的事件是當系統發生 COPYDATA 事件時,要用我設計的 ReceiverMsg_String() 函數去處理 */

    BEGIN_MESSAGE_MAP

    MESSAGE_HANDLER(WM_COPYDATA,TMessage,ReceiverMsg_String)

    END_MESSAGE_MAP(inherited)

    //-------------------------------------------------------------------------------------------------

    我寫過那麼多程式,幾乎還沒需要自己去定義事件的情形,所有的事件不外乎

    滑鼠、鍵盤之類的觸動事件,而這些事件在元件上絕對已經有幫你建立Even了,要是你要自己設計元件,而且你買的是正版的BCB,他附給你的那本厚厚

    黃色那一本說明書有寫的很清楚要如何為你設計的元件建立事件了,除非你用盜版的,那你就沒有講話權了。

    而上面的程式碼,是即使你沒設計元件也可以在程式內自己創建的事件。

    (元件的自創事件,使用繼承方式會比較快速,當然也可以用我這一招創特殊事件)

    至於要創什麼事件,就要由你的需求自己去定義了。

  • 匿名使用者
    7 年前

    到下面的網址看看吧

    ▶▶http://*****/

還有問題?馬上發問,尋求解答。