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

如何控制mouse右鍵?

尚未結案
Tak
一般會員


發表:17
回覆:18
積分:7
註冊:2003-01-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-07 10:13:04 IP:210.0.xxx.xxx 未訂閱
我希望做到 在按下button1五秒後, 出現"自動按下mouse右鍵"的效果, 請問怎樣做?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-07 10:39:10 IP:63.84.xxx.xxx 未訂閱
您好!    在Form中加一個Timer元件(System元件頁), 將Timer元件的Interval屬性值設為5000(即為五秒), 將Timer元件的Enable屬性值設為False, 其它相關程式碼如下: Form1的OnMouseDown事件中
begin
  if Button = mbRight then
    Timer1.Enable := True;
end;
//判斷按下的是否是Mouse的右鍵, 若是右鍵, 則触發    Timer元件的OnTimer事件中
begin
  ShowMessage('五秒之前您按下Mouse的右鍵');
  Timer1.Enable := False;
end;
//五秒后出現Message, 再將Timer的Enable屬性值設為False
參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
tonyplus
初階會員


發表:22
回覆:97
積分:28
註冊:2002-04-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-07 13:42:32 IP:211.23.xxx.xxx 未訂閱
引言: 您好! 在Form中加一個Timer元件(System元件頁), 將Timer元件的Interval屬性值設為5000(即為五秒), 將Timer元件的Enable屬性值設為False, 其它相關程式碼如下: Form1的OnMouseDown事件中
begin
  if Button = mbRight then
    Timer1.Enable := True;
end;
//判斷按下的是否是Mouse的右鍵, 若是右鍵, 則触發
=====================================================================
呵~cashxin2002兄,人家的題目是這樣的:在按下button1五秒後,
所以應該是...(cashxin2002兄最近還是沒睡好啊!?題目看走眼了~)
 
>
參考看看!    <><>=====================
努力,相信會獲得美麗!
忻晟
< face="Verdana, Arial, Helvetica">     
        
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-07 14:15:35 IP:63.84.xxx.xxx 未訂閱
哈哈... tonyplus兄, 歹勢歹勢< > 最近每天晚上看書到兩三點, 早上六點半就要起床了, 看來真的沒睡好, 現在感覺就有些昏昏欲睡了< > ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
Tak
一般會員


發表:17
回覆:18
積分:7
註冊:2003-01-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-07 18:19:54 IP:218.102.xxx.xxx 未訂閱
你們都誤會了~ 我的意思不是出現"xxxxxx"字句, 是自動按下mouse右鍵啊~    Button的OnClick事件中: begin   Timer.Enabled:=True; end;    Timer元件的OnTimer事件中: (Interval=5000) begin   ??????? <=做出按下mouse右鍵的效果   Enabled:=False; end;    例如我按下button後把mouse移到▼上, 在t=5時, 便出現選單
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-08 09:36:35 IP:61.155.xxx.xxx 未訂閱
unit Unit1;    interface    uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, Menus, StdCtrls, ExtCtrls;    type   TForm1 = class(TForm)     Button1: TButton;     PopupMenu1: TPopupMenu;     N1111: TMenuItem;     N2221: TMenuItem;     N55551: TMenuItem;     Timer1: TTimer;     procedure Button1MouseDown(Sender: TObject; Button: TMouseButton;       Shift: TShiftState; X, Y: Integer);     procedure Timer1Timer(Sender: TObject);     procedure Button1Click(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end;    var   Form1: TForm1; implementation    {$R *.dfm}    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button=mbLeft then if timer1.Enabled=false then begin timer1.Interval :=5000; timer1.Enabled :=true; end; end; procedure TForm1.Timer1Timer(Sender: TObject); var pt:Tpoint; begin GetCursorPos(pt); PopupMenu1.Popup(pt.X ,pt.y); timer1.Enabled :=false; end; procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled :=false; showmessage('你这是单击,如果按住此按钮5秒后会弹出菜单!'); end; end.
Tak
一般會員


發表:17
回覆:18
積分:7
註冊:2003-01-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-08 16:37:36 IP:203.218.xxx.xxx 未訂閱
唔...... 你們有用過"自動按鍵(mouse)程式"嗎? "自動按下mouse右鍵"是指▲呢~
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-10-08 21:17:45 IP:218.163.xxx.xxx 未訂閱
引言: 唔...... 你們有用過"自動按鍵(mouse)程式"嗎? "自動按下mouse右鍵"是指▲呢~
參考看看:
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Menus, ComCtrls;    type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    test1: TMenuItem;
    Timer1: TTimer;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure test1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;
implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);
begin
 Timer1.Interval:=5000;
 Timer1.Enabled:=True;
end;    procedure TForm1.Timer1Timer(Sender: TObject);
var Mpt:Tpoint;
    NewX,NewY: integer;
begin
 GetCursorPos(Mpt);
 NewX:= Mpt.x-20;
 NewY:= Mpt.y-15;
 PopupMenu1.Popup(NewX,NewY);
 //自動按下第一個Test1選單項目
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN,0,0,0,0);
 Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP,0,0,0,0);
 Timer1.Enabled:=False;
end;    procedure TForm1.test1Click(Sender: TObject);
begin
 ShowMessage('test1測試OK!');  
end;    end.
 
網海無涯,學無止境!
Tak
一般會員


發表:17
回覆:18
積分:7
註冊:2003-01-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-10-08 22:48:47 IP:203.218.xxx.xxx 未訂閱
謝謝!
系統時間:2024-05-20 16:57:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!