<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 游戲操縱桿模擬鼠標的C++程序

游戲操縱桿模擬鼠標的C++程序

作者: 時(shí)間:2012-07-02 來(lái)源:網(wǎng)絡(luò ) 收藏

 }

本文引用地址:http://dyxdggzs.com/article/148825.htm

  //繼續傳遞消息

  Tform::Dispatch(Message);

  }

  //自定義的MM_JOY1MOVE消息響應函數OnJoyDown

  void __fastcall TForm1::OnJoyMove(Tmessage Message)

  {

  int x,y;

  POINT pt;

  //取得當前坐標

  GetCursorPos(pt);

  x=LOWORD(Message.Lparam);

  y=HIWORD(Message.Lparam);

  if(x!=32678)

  {

  if(x)

  {

  //向右

  pt.x+=10;

  }

  else

  {

  //向左

  pt.x-=10;

  }

  }

  if(y!=32678)

  {

  if(y)

  {

  //向下

  pt.y+=10;

  }

  else

  {

  //向上

  pt.y-=10;

  }

  }

  //設置坐標

  SetCursorPos(pt.x,pt.y);

  //繼續傳遞消息

  Tform::Dispatch(Message);

  }

  注意:調試運行這個(gè),系統必須要安裝有。自定義的消息處理函數末尾最好加一句 TForm1::Dispatch(Message),這條語(yǔ)句的作用是讓消息繼續傳遞下去。Windows是使用用消息處理機制的,如果沒(méi)有這一句語(yǔ)句,消息將完全被攔截,Windows可能由于得不到消息而無(wú)法實(shí)現正常的功能。

  但是在C++ Builder中,這兩條消息并不是標準的Windows消息,這就需要我們自已定義和處理消息了。在C++ Builder里響應自定義消息的步驟為:

  1.建立消息映射表

  2.聲明消息處理函數

  3.編寫(xiě)消息處理函數

  首先在代碼編輯窗口點(diǎn)擊右鍵,選擇彈出菜單的“Open Source/Header File”或是按熱鍵Ctrl+F6,打開(kāi)窗體Form1頭文件“Uint1.h”。

  在窗體的TForm1類(lèi)中的公有成員中加入代碼來(lái)建立消息映射表,把消息的處理權交給自定義的消息處理函數:

  public:

  BEGIN_MESSAGE_MAP

  MESSAGE_HANDLER(MM_JOY1BUTTONDOWN,Tmessage,OnJoyDown)

  MESSAGE_HANDLER(MM_JOY1MOVE,Tmessage,OnJoyMove)

  END_MESSAGE_MAP(Tform)

  然后在類(lèi)的私有成員中加入代碼聲明消息處理函數:

  private:

  void __fastcall OnJoyDown(Tmessage Message);

  void __fastcall OnJoyMove(Tmessage Message);

  最后,按Ctrl+F6鍵切換回“Uint1.cpp”的編輯窗口,在末尾空白處添加下面兩個(gè)自定義的消息響應函數:

  //自定義的MM_JOY1BUTTONDOWN消息響應函數OnJoyDown

  void __fastcall TForm1::OnJoyDown(Tmessage Message)

  {

  if(Message.Wparam JOY_BUTTON1)

  {

  //左鍵按下

  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);

  Caption=左鍵按下;

  }

  if(Message.Wparam JOY_BUTTON2)

  {

  //鼠標右鍵按下

  mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);

  Caption=右鍵按下;

  }

  if(Message.Wparam JOY_BUTTON3)

  {

  //鼠標左鍵抬起

  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

  Caption=左鍵抬起;

  }

  if(Message.Wparam JOY_BUTTON4)

  {

  //模擬鼠標右鍵抬起

  mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);

  Caption=右鍵抬起;

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 程序 鼠標 模擬 操縱桿 游戲

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>