with sender as tbutton do語法怎麼用? |
答題得分者是:chris_shieh
|
qqking
一般會員 發表:16 回覆:18 積分:6 註冊:2005-05-12 發送簡訊給我 |
|
rowater
一般會員 發表:11 回覆:19 積分:6 註冊:2004-08-30 發送簡訊給我 |
是指這樣嗎
procedure TForm1.Button1Click(Sender: TObject);
begin
with sender as Tbutton do begin
Caption := 'test';
Visible := False;
end;
end;
勿濫用 with...do
http://www.geocities.com/huanlin_tsai/Articles/with_do.htm
|
qqking
一般會員 發表:16 回覆:18 積分:6 註冊:2005-05-12 發送簡訊給我 |
|
rowater
一般會員 發表:11 回覆:19 積分:6 註冊:2004-08-30 發送簡訊給我 |
可以使用tag屬性來判斷
procedure TForm1.Button1Click(Sender: TObject);
begin
with sender as Tbutton do begin
if tag = 1 then Showmessage('I am Button1');
if tag = 2 then Showmessage('I am Button2');
end;
或名稱
procedure TForm1.Button2Click(Sender: TObject);
begin
with sender as Tbutton do begin
if name = 'Button1' then Showmessage('I am Button1');
if name = 'Button2' then Showmessage('I am Button2');
end;
|
chris_shieh
高階會員 發表:46 回覆:308 積分:240 註冊:2004-04-26 發送簡訊給我 |
引言: 同一事件下,我想用數個button,要怎麼讓各個按鍵有不同反應,請大哥指點指點 procedure TForm1.Button1Click(Sender: TObject); var button: TButton; begin button := Sender as TButton; if button.Name = 'Button1' then //or button.Caption = 'Caption1'; Showmessage('Button1') else if button.Name = 'Button2' then Showmessage('Button2'); end;@瞭解越多.懂得越少@ |
qqking
一般會員 發表:16 回覆:18 積分:6 註冊:2005-05-12 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var
button: TButton;
begin
button := Sender as TButton;
if button.Name = 'Button1' then //or button.Caption = 'Caption1';
Showmessage('Button1')
else if button.Name = 'Button2' then
Showmessage('Button2');
end;
[/code] @瞭解越多.懂得越少@
[/quote]
大哥我瞭了...
那如果我要自建一各物件驅動同樣事件,又該如何下ㄋ
麻煩大哥再次指點指點
|
rowater
一般會員 發表:11 回覆:19 積分:6 註冊:2004-08-30 發送簡訊給我 |
在Button的Onclick選單就可以選MyButtonClick
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure MyButtonClick(Sender: TObject); {更新選單的lookupTable}
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MyButtonClick(Sender: TObject);
var
button: TButton;
begin
button := Sender as TButton;
if button.Name = 'Button1' then //or button.Caption = 'Caption1';
Showmessage('Button1')
else if button.Name = 'Button2' then
Showmessage('Button2'); end; end.
|
rowater
一般會員 發表:11 回覆:19 積分:6 註冊:2004-08-30 發送簡訊給我 |
嗯 仔細看了你的問題 好像你是要問這個
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure MyButtonClick(Sender: TObject); //自訂的Event
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MyButtonClick(Sender: TObject);
var
button: TButton;
begin button := Sender as TButton;
if button.Name = 'Button1' then Showmessage('Button1')
else if button.Name = 'Button2' then Showmessage('Button2')
else if button.Name = 'Test' then Showmessage('Test'); end; procedure TForm1.Button3Click(Sender: TObject);
var
Newbutton : Tbutton;
begin Newbutton := TButton.Create(Self);
Newbutton.Name := 'Test';
Newbutton.Parent := Self;
NewButton.Caption := 'Test';
NewButton.OnClick := MyButtonClick; end; end.
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |