查看完整版本: WM_USER意思..
頁: [1]

jackyo04 發表於 2018-7-12 02:07 PM

WM_USER意思..

本帖最後由 jackyo04 於 2018-7-13 06:09 PM 編輯

常常看到前輩的程式define一堆東西..例如#define MSG WM_USER + 180
#define FO WM_USER + 182
#define NEXT WM_USER + 184
#define ResetMe WM_USER + 186請問一下,這些東西是什麼根據呢?
WM_USER是什麼?
那些+103,+104又是什麼意思?
<div></div>

MY0613 發表於 2018-7-13 10:04 AM

本帖最後由 MY0613 於 2018-7-13 10:05 AM 編輯

Used to define private messages for use by private window classes, usually of the form WM_USER+x, where x is an integer value.
隨手狗了一下,找到微軟說明。

#define WM_USER                         0x0400

WM_USER through 0x7FFF        Integer messages for use by private window classes.

0x0400 ~ 0x7FFF 就是給自訂的用途啦。
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

love88131496 發表於 2018-7-13 05:48 PM

寫WINDOW的程式時,要透過WINDOW API來處理事情,或者MESSAGE呼叫。
而OS識別的方式,很多不是透過不同的方法。畢竟API多半都是STATIC/DYNAMIC Library呼叫。
所以往往都用一個參數值來代表妳要作的事情、識別妳的資料類型等等。
那因為參數太多"不好記",所以就用define來寫。
通常不用去記憶WM_....等等這種define好的意思。知道做什麼事情,要傳WM_XXX + xxx就好。
忘記就去查MSDN。大腦不用裝別人寫好的規則。...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

jackyo04 發表於 2018-7-13 06:11 PM

感謝大大們的解答,因為之前接觸的程式都沒碰過這東西,所以很好奇,網路上敘述的太文言文了,看不太懂
頁: [1]