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

請教如何得知一個按鈕被按了幾下呢?

答題得分者是:andychang1690
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-18 17:48:05 IP:220.139.xxx.xxx 未訂閱
想請教一下假設我的Form上只有一個按鈕~~!我對他連續點了5下~!就會有訊息說你點了五下~~!如果我再點十下~~!就會有訊息說你一共點了15下~~!請問一下各位大大要怎麼偵測該按鈕被點的次數呢?~~!煩請幫忙~~!謝謝了~!
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-18 22:03:42 IP:221.169.xxx.xxx 未訂閱
zivu:使用static 宣告,它所宣告的變數只在自身副程式生效,
第一次載入會以宣告值為主值,改變數值後會保留到你下次改變它為止,
一直到程式結束才銷滅!請試範例:    void __fastcall TForm1::Button1Click(TObject *Sender)
{
  static int bi=1;  
  AnsiString showstr="你目前按了" IntToStr(bi  ) "次";
  Application->MessageBox(showstr.c_str(),"按鍵提示",MB_OK);
  // 處理其它!
}
請參考!    
Andy Chang
------
Andy Chang
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-19 00:06:39 IP:220.139.xxx.xxx 未訂閱
謝謝andychang的幫忙~~~~~!不好意思~~~我應該把我原本的構想說出來~~!使用者要連點Form1兩下就會把那科按鈕從看不見變成看的見(這邊我會)~~!然後那個按鈕基本上是沒有功能的!只有連按了10下~~!我就會讓他做管理者可以做的事~~~!但是現在的問題是~~!我把andychang大大你的程式貼到Form1的onclick下面~~!然後我現在按該按鈕兩次或三次~~~!再點Form它只會偵測到一次~~!再我又接著按該按鈕兩次或三次~~!Form會偵測到兩次~~~!????想不通為什麼會怎樣~~~!可能又要麻煩你了~~!謝謝~~! 發表人 - zivu 於 2004/09/19 00:14:11
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-19 00:20:31 IP:221.169.xxx.xxx 未訂閱
zivu:奇怪我測試沒問題,現Post我程式如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   static int bi=1;  
  AnsiString showstr="你目前按了" IntToStr(bi  ) "次";
//  Application->MessageBox(showstr.c_str(),"按鍵提示",MB_OK);
  Label1->Caption=showstr;
}
不管我按幾次它就顯示幾次,如果可能你方便Post你部分程式?
zivu:不好意思,我知道原因了,於Form1你按的太快,會觸動
DoubleClick事件,連擊只會視同一個按鍵,你還必須處理
OnDblClick事件,或不管它讓使用者多按一次。
不然你就必須於OnMouseDown事件處理這問題。
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  static int bi=1;
  if (bi >= 2 && !Button1->Visible)
    Button1->Visible=true;
  else
    bi  ;
  Label1->Caption=bi;  
}
請參考!    
Andy Chang 發表人 - andychang1690 於 2004/09/19 00:32:10
------
Andy Chang
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-19 00:50:40 IP:220.139.xxx.xxx 未訂閱
謝謝andychang你的幫忙~~~~~!感謝~~~!我決定要不用按鈕來測~~~!把你指導的程式貼在Form底下好了~~~~~~!因為這樣好像不容易像button一樣發生狀況~~!謝謝你~~!
系統時間:2024-05-07 3:22:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!