LOWORD或HIWORD宏得到的是一个无符号WORD类型的数
生活随笔
收集整理的這篇文章主要介紹了
LOWORD或HIWORD宏得到的是一个无符号WORD类型的数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天做一個小程序時,在那個窗口設置了SetCapture來捕獲鼠標,然后那個窗口的WM_MOUSEMOVE消息里通過LOWORD和HIWORD宏獲取當前鼠標位置時遇到這個問題,當鼠標移動到窗口外左邊時,LOWORD(lParam)將得到一個非常大的x坐標,原因就是這個時候鼠標的x坐標相對于客戶區左上角是負數。所以可以將LOWORD(lParam)進行強制轉換為short類型處理。
下面貼下MSDN的說明:
1 WORD LOWORD( 2 DWORD dwValue 3 );LOWORD將DWORD的低字返回,HIWORD則是將DWORD的高字返回。
以上是MSDN給出的WORD及DWORD的聲明,可以看到WORD是無符號short類型,DWORD是無符號的long類型。
轉載于:https://www.cnblogs.com/wnarutou/archive/2012/09/24/2700750.html
總結
以上是生活随笔為你收集整理的LOWORD或HIWORD宏得到的是一个无符号WORD类型的数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS - 让view触发点击事件
- 下一篇: DLL文件的原理