TEdit與MonthCalender搭配使用的問題 |
答題得分者是:h@visli
|
Sane.Huang
一般會員 發表:1 回覆:0 積分:0 註冊:2005-09-03 發送簡訊給我 |
我是一個程式初學者,
程式寫作的方法可能有點膚淺,還望各位先進多多指教。 我建一個Edit1在Form1上,連點呼叫出有一MonthCalendar1的Form2,選擇日期後將日期填入Edit1中。
procedure TForm1.Edit1DblClick(Sender: TObject); begin if Application.FindComponent('Form2')= nil then Application.CreateForm(TForm2, Form2); Form2.Show; end; procedure TForm2.MonthCalendar1Click(Sender: TObject); begin Form1.Edit1.Text:= DateToStr(MonthCalendar1.Date); Self.Release; end;問題是如果我這樣愚蠢的作法,就必須一個填入日期的TEdit對一個TMonthCalendar。 有沒有辦法讓所有必須填入日期的TEdit共用一個TMonthCalendar呢? 感謝 h@visli 的指教 讓初學程式的我又多了解了一種技巧 發表人 - Sane.Huang 於 2005/09/30 16:08:30 |
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
把所有Edit組件的OnDblClick事件全部統一指到一個去(如Edit1DblClick),再把代碼改為下面的樣子就可以了。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure Edit1DblClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Edit1DblClick(Sender: TObject); //所有的Edit組件的onDblClick事件都用這一個 begin if Application.FindComponent('Form2')= nil then Application.CreateForm(TForm2, Form2); Form2.WhichEdit := TEdit(Sender); //也可以用其它標識方法來識別是哪一個Edit發出的DblClick動作 Form2.Show; end; end. ------------------------ Unit2 ------------------------ unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm2 = class(TForm) MonthCalendar1: TMonthCalendar; procedure MonthCalendar1Click(Sender: TObject); private { Private declarations } public { Public declarations } WhichEdit: TEdit; end; var Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.MonthCalendar1Click(Sender: TObject); begin WhichEdit.Text:= DateToStr(MonthCalendar1.Date); Self.Release; end; end.---------------------------- 於Delphi K.Top之上 博采眾家之長, 奉獻綿薄之力 --------------------------- 發表人 - h@visli 於 2005/09/30 14:42:26
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |