程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 接收用戶輸入

接收用戶輸入

編輯:C語言基礎知識

在視中接收鼠標輸入:

鼠標消息是我們常需要處理的消息,消息分為:鼠標移動,按鈕按下/松開,雙擊。利用ClassWizard可以輕松的添加這幾種消息映射,下面分別講解每種消息的處理。

WM_MOUSEMOVE對應的函數為OnMouseMove( UINT nFlags, CPoint point ),nFlags表明了當前一些按鍵的消息,你可以通過“位與”操作進行檢測。

MK_CONTROL Ctrl鍵是否被按下   Set if the CTRL key is down.

MK_LBUTTON 鼠標左鍵是否被按下   Set if the left mouse button is down.

MK_MBUTTON 鼠標中間鍵是否被按下   Set if the middle mouse button is down.

MK_RBUTTON 鼠標右鍵是否被按下   Set if the right mouse button is down.

MK_SHIFT Shift鍵是否被按下   Set if the SHIFT key is down.

point表示當前鼠標的設備坐標,坐標原點對應視左上角。

WM_LBUTTONDOWN/WM_RBUTTONDOWN(鼠標左/右鍵按下)對應的函數為OnLButtonDown/OnRButtonDown( UINT nFlags, CPoint point )參數意義和OnMouseMove相同。

WM_LBUTTONUP/WM_RBUTTONUP(鼠標左/右鍵松開)對應的函數為OnLButtonUp/OnRButtonUp( UINT nFlags, CPoint point )參數意義和OnMouseMove相同。

WM_LBUTTONDBLCLK/WM_RBUTTONDBLCLK(鼠標左/右鍵雙擊)對應的函數為OnLButtonDblClk/OnRButtonDblClk( UINT nFlags, CPoint point )參數意義和OnMouseMove相同。

下面我用一段偽代碼來講解一下這些消息的用法:

代碼的作用是用鼠標拉出一個矩形

global BOOL fDowned;//是否在拉動

global CPoint ptDown;//按下位置

global CPoint ptUp;//松開位置

 

OnLButtonDown(UINT nFlags, CPoint point)

{

         fDowned=TRUE;

         ptUp=ptDown=point;

         DrawRect();

...

}

 

OnMouseMove(UINT nFlags, CPoint point)

{

         if(fDowned)<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved