線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1406
推到 Plurk!
推到 Facebook!

請問滑鼠模擬右鍵問題

尚未結案
stockton2
一般會員


發表:3
回覆:2
積分:1
註冊:2003-06-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-15 20:08:06 IP:218.174.xxx.xxx 未訂閱
請教各位大大..... 先前有參閱過領航天使大大的文章... 如下篇..    如何用程式觸發滑鼠按鍵的事件(如何模擬滑鼠的按鍵) 模擬滑鼠按左鍵: mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);// click down mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);// click down 模擬滑鼠按Double Click: mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);// click down mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);// click down mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);// click down mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);// click down 模擬滑鼠按右鍵: mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);// click down mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);// click down    其中模擬左鍵的問題以解決.... 可是卻不知道如何讓它去判斷我們按的是左鍵或是右鍵.... 所以要請教各位大大... 如何可以判斷是否按右鍵或是左鍵ㄋ... 且是要寫在image的元件裡.... 以下是我們的程式碼.....    Client端 void __fastcall TForm1::Panel1MouseDown(TObject *Sender,       TMouseButton Button, TShiftState Shift, int X, int Y) {    ClientSocket->Socket->SendText("mouse_down") ; } //---------------------------------------------------------------------------    void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,       TShiftState Shift, int X, int Y) { //mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0) ; } //---------------------------------------------------------------------------    void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,     TShiftState Shift, int X, int Y) { //mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); } //---------------------------------------------------------------------------    void __fastcall TForm1::Panel1MouseUp(TObject *Sender, TMouseButton Button,       TShiftState Shift, int X, int Y) {    ClientSocket->Socket->SendText("mouse_up") ; } //---------------------------------------------------------------------------    void __fastcall TForm1::Panel1DblClick(TObject *Sender) {  ClientSocket->Socket->SendText("mouse_double"); } //--------------------------------------------------------------------    Server端 else if (txtCommand->Text == "mouse_down")     {         mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);     }     else if (txtCommand->Text == "mouse_up")     {          mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);     }      else if (txtCommand->Text == "mouse_double")     {         mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);         mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);          mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);         mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);     }    謝謝各位大大的指導....    < >< >
gemi0305
版主


發表:81
回覆:564
積分:629
註冊:2003-05-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-15 20:28:25 IP:61.224.xxx.xxx 未訂閱
在mouse的事件中,都會有一個  
 
TMouseButton Button
從這個Button就可以知道是那個鍵了, mbRight 是右鍵 mbLeft 是左鍵 如,在mouse的down或up事件中,加入
     if(Button == mbRight)
       ShowMessage("Right!");     
試試看 國泰平安
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-15 20:33:55 IP:140.135.xxx.xxx 未訂閱
stockton2您好:  試試下面的code
 
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
 switch (Button)
 {
   case 0:
    ShowMessage("按到滑鼠左鍵");
   break;
   case 1:
    ShowMessage("按到滑鼠右鍵");
   break;
 }
}
順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
stockton2
一般會員


發表:3
回覆:2
積分:1
註冊:2003-06-10

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