線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1873
推到 Plurk!
推到 Facebook!

Delphi 如何引用動態建立物件的程序/函數?

答題得分者是:jow
alvin26
初階會員


發表:24
回覆:41
積分:28
註冊:2005-04-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-16 10:04:32 IP:61.63.xxx.xxx 訂閱
各位大大,請問一下,

在 Delphi 中,
假設我用程式碼建立一個 form,
再 create 一 個 button 放在 form 上,
想請問一下,如何可以使用這個 button
的事件呢?
例如, user 按了這個 button ,
我想讓它做一些事情,應該怎麼寫才對呢?
------
弟子規,聖人訓,首孝悌,次謹信,泛愛眾,而親仁,有餘力,則學文。
編輯記錄
alvin26 重新編輯於 2007-11-16 10:05:27, 註解 無‧
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-16 12:51:21 IP:210.66.xxx.xxx 訂閱
先了解一下 事件本身是怎麼一回事,
如何運用定義好的事件型態, 以及如何將
它掛載到相對的事件?!

以下程式碼, 供你參考...

[code delphi]
unit fMain;

interface

uses
Forms, StdCtrls, Classes, Dialogs, Controls;

type
//自定一種事件型態(Event Function Type)
TOnMyBtnClickEvent = procedure(Sender: TObject; DateTime: TDateTime) of object;

{ TMyButton }
//改寫TButton, 使之具備TOnMyBtnClickEvent 的事件型態.
TMyButton = class(TButton)
private
FOnMyBtnClick: TOnMyBtnClickEvent;
public
procedure Click; override;
property OnMyBtnClick: TOnMyBtnClickEvent
read FOnMyBtnClick write FOnMyBtnClick;
end;

TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
//宣告事件處理程序, 參數依照 TOnMyBtnClickEvent 的定義.
procedure DO_OnMyBtnClick(Sender: TObject; DateTime: TDateTime);
end;

var
Form1: TForm1;

implementation

uses SysUtils;

{$R *.dfm}

{ TMyButton }

procedure TMyButton.Click;
begin
inherited;
//事件發生, 檢查是否掛載Event Handler,並發出通知
if Assigned(FOnMyBtnClick) then
FOnMyBtnClick(Self, Now);
end;

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyButton.Create(Self) do
begin
Parent := Self;
Caption := '測試按鍵';
Left := 10;
Top := 10;
OnMyBtnClick := DO_OnMyBtnClick;//掛載事件處理程序
end;
end;

procedure TForm1.DO_OnMyBtnClick(Sender: TObject; DateTime: TDateTime);
begin
//事件處理程序的回應事件動作
ShowMessage(FormatDateTime('hh:nn:ss', DateTime));
end;

end.

[/code]


===================引 用 alvin26 文 章===================
各位大大,請問一下,

在 Delphi 中,
假設我用程式碼建立一個 form,
再 create 一 個 button 放在 form 上,
想請問一下,如何可以使用這個 button
的事件呢?
例如, user 按了這個 button ,
我想讓它做一些事情,應該怎麼寫才對呢?
alvin26
初階會員


發表:24
回覆:41
積分:28
註冊:2005-04-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-20 11:35:09 IP:61.63.xxx.xxx 訂閱
WOW...好詳細哦...讓我研究研究....感謝  JOW 大大  .
------
弟子規,聖人訓,首孝悌,次謹信,泛愛眾,而親仁,有餘力,則學文。
系統時間:2024-04-19 22:55:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!