TEdit 與 TLabel 的問題????? |
尚未結案
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
在我的Form裡面有4個Edit及4個相對應的Label
在每一個Edit有 Keypress的時候 Label會立即顯示使用者所輸入的字
我知道可以在每一個Edit裡的 KeyPress 方法寫下列的程式碼
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Label1.Caption :=Edit1.Text ;
end;
請問有別種寫法可以達成每一個Edit有輸入的時候會對應到相對的Label嗎??
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
There are many ways to do it.... A quick and easy way...
{ set all Edit's OnKeyPress to this handler } procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char); var Label: TLabel; begin if Sender=Edit1 then Label := Label1 else Label := Label2; { ... etc ...} Label.Caption := TEdit(Sender).Text ; end;Using function like FindControl may look 'smarter' |
TATSU
版主 發表:50 回覆:135 積分:62 註冊:2003-01-16 發送簡訊給我 |
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure SyncLabel(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
aArrayLabel : Array[1..4] of TLabel ;
aArrayEdit : Array[1..4] of TEdit ;
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject);
var
i : Integer ;
begin
aArrayLabel[1] := Label1 ;
aArrayLabel[2] := Label2 ;
aArrayLabel[3] := Label3 ;
aArrayLabel[4] := Label4 ; aArrayEdit[1] := Edit1 ;
aArrayEdit[2] := Edit2 ;
aArrayEdit[3] := Edit3 ;
aArrayEdit[4] := Edit4 ; for i := 1 to Length(aArrayEdit) do
begin
aArrayLabel[i].Tag := i ;
aArrayEdit[i].Tag := i ;
aArrayEdit[i].OnKeyUp := SyncLabel ;
end; end; procedure TForm1.SyncLabel(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
{用 Edit 的 tag 去對應相對的 Label }
aArrayLabel[(Sender as TEdit).Tag].Caption := (Sender as TEdit).Text ; end; 你試試吧,應該可以解決到你的問題,但有一點要注意,應該用 KeyUp 而不是 KeyPress 。
|
rickychung
一般會員 發表:9 回覆:7 積分:3 註冊:2003-08-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |