全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:869
推到 Plurk!
推到 Facebook!

如何讓MouseDown有連發的功能?

尚未結案
avalokita
一般會員


發表:29
回覆:35
積分:12
註冊:2003-09-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-09 23:31:25 IP:203.70.xxx.xxx 未訂閱
請問要如何讓MouseDown有KeyPressed一樣的功能呢? 只要一直按著滑鼠左鍵,就會一直執行相同的程式碼?
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-10 03:43:59 IP:203.204.xxx.xxx 未訂閱
引言: 請問要如何讓MouseDown有KeyPressed一樣的功能呢? 只要一直按著滑鼠左鍵,就會一直執行相同的程式碼?
avalokita 你好
只要依下列步驟操作就可以了    1.在Form的Private中設個物件變數AutoButton : TButton ;    2.放個TTimer元件,Enabled預設為False;時間設300(自行調整)即0.3秒觸發一次,然後在OnTimer事件中寫入
Begin
  If AutoButton <> nil THen Begin
    AutoButton.Click;
  End;
End;        3.在Button物件的OnMouseDown 事件中寫入
Procedure TForm1.Button1MouseDown(Sender:TObject);
Begin
  AutoButton:= TButton(Sender);
  Timer1.OnTimer(Timer1); // 先執行一次
  Timer1.Enabled := True; // 再開啟計時器,0.3秒後,只要滑鼠按鍵沒放開,又會執行一次
End;    4.在Button物件的OnMouseUp 事件中寫入
Procedure TForm1.Button1MouseUp(Sender:TObject);
Begin
  AutoButton:= nil;
  Timer1.Enabled := False;
End;    4.若還有其他的Button也要有相同的功能,只要將MouseDown及MouseUp事件共用上述兩個事件即可。
系統時間:2024-05-03 15:03:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!