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

請教前輩有關Data Controls->DBNavigator問題!

答題得分者是:ccchen
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-07 10:14:11 IP:61.218.xxx.xxx 未訂閱
請教前輩有關Data Controls->DBNavigator問題! 為什麼當我用滑鼠按著 DBNavigator的上,下頁按鈕不放時,可連續切換一下筆資料. 但是為什麼我新增兩個按鈕,一個是Query1.prior; 一個是Query1.next; 然後滑鼠按住按鈕時,只能切換下一筆,沒辦法連續... 這樣很痛苦ㄝ.每要看下一筆就要點一下...點點點.... 是不是我忘了哪一個步驟嗎?
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-07 13:40:09 IP:61.219.xxx.xxx 未訂閱
為什麼當我用滑鼠按著 DBNavigator的上,下頁按鈕不放時,可連續切換一下筆資料. 那是因為DBNavigator用TNavButton,內含一個Timer, MouseDown後啟動Timer,每0.1秒檢查一次若仍在down狀態就去呼叫click. 可以如下模擬: 在Form上放一個TTimer, Interval設為100
 
type TTmpButton=class(TButton);//這行是為了使用Button 之protect method
procedure TForm2.Timer1Timer(Sender: TObject);  //Timer1之onTimer
begin
  if TTmpButton(Button1).MouseCapture then  begin //check mouse是否在button1上
    try
      Button1.Click;  //呼叫click
    except
      Timer1.Enabled := False;  //若有任何錯誤, disable Timer
      raise;
    end;
  end;
end;    procedure TForm2.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled  := True;  //mousedown時啟動Timer
end;    procedure TForm2.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Timer1.Enabled  := False;  //Mouseup時關掉Timer
end;    procedure TForm2.Button1Click(Sender: TObject);
begin
  Memo1.lines.add('click');  // only test
end;
系統時間:2024-05-06 21:56:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!