1-3-2 Windows應用程式常用訊息

來源:互聯網
上載者:User

標籤:

 

  主要內容:介紹Windows編程中常用的訊息


  1.WM_LBUTTONDOWN產生單擊滑鼠左鍵的訊息
    lParam:

      低位元組包含當前游標的X座標值  X = LOWORD(lParam);  

      高位元組包含當前游標的Y座標值  Y = HIWORD(lParam);

    wParam:包含一組整數值,用來標識滑鼠鍵的按下狀態
      可以通過switch-case來使用它
    

    給出幾個按下狀態
        MK_LBUTTON      按下滑鼠左鍵
        MK_MBUTTON      按下滑鼠中鍵
        MK_RBUTTON       按下滑鼠右鍵
        MK_SHIFT        按下SHIFT鍵
        MK_CONYROL       按下Ctrl鍵
    例子:
      case WM_LBUTTONDOWN:
      if(wParam & MK_SHIFT) //若shift也有按下

  2.此外,相似的訊息還有:
        WM_LBUTTONDOWN    按下滑鼠左鍵時產生
        WM_LBUTTONUP      鬆開滑鼠左鍵時產生
        WM_RBUTTONDOWN    按下滑鼠右鍵時產生
        WM_RBUTTONUP      鬆開滑鼠右鍵時產生
        WM_LBUTTONDBLCLK    雙擊滑鼠左鍵時產生
        WM_RBUTTONDBLCLK    雙擊滑鼠右鍵時產生
        WM_MOUSEMOVE      滑鼠經過視窗的顯示地區時產生
        WM_MBUTTONDOWN    按下滑鼠中鍵時產生
        WM_MBUTTONUP      鬆開滑鼠中鍵時產生

  3.WM_KEYDOWN 按下一個非系統鍵時產生的訊息
    <1>系統鍵:是指實現系統操作的按鍵組合,
      例如Alt與某個功能鍵的組合以實現系統功能表操作等,
      非系統鍵就是不與alt聯用的鍵

    註解:
      凡是ALT和其它鍵一同按下的組合稱為“系統鍵”,
      視窗收到系統鍵之後,會自動地將它解釋成系統事件,
      或者查閱鍵盤加速表,將系統鍵翻譯成加速表指定的資訊。
      如:ALT+F4的組合會迫使視窗關閉,“ALT+字母”的組合可能會拉下某個菜單。

      非系統鍵就是不按下ALT鍵時的按鍵(比如單一按鍵)

    <2>wParam:虛擬碼,用以標識按下或釋放的鍵
      lParam:記錄了按鍵的重複次數、掃描碼、轉移代碼、先前鍵的狀態等資訊

    <3>相似的還有WM_KEYUP,在放開非系統鍵時產生的訊息

    <4>虛擬鍵以VK_開頭進行標識,如VK_SHIFT,VK_LBUTTON等

  3.其他常見訊息
    

    <1>WM_CHAR 按下一個非系統鍵時產生的訊息
      wParam 為按鍵的ASCII碼 lParam 與WM_KEYDOWN相同

    <2>WM_CREATE:由CreateWindow函數發出的訊息
      wParam 未用
      lParam 包含一個指向CREATESTRUCT資料結構的指標

    <3>WM_CLOSE:關閉視窗時產生的訊息

      wParam和lParam均未使用
    
      wParam和lParam均未使用
    <5>WM_QUIT:由PostQuitMessage函數發出的訊息
      wParam 含結束代碼,標識程式退出運行時的有關資訊


1-3-2 Windows應用程式常用訊息

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.