關(guān)于msg文件怎么打開,msg這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、MSG 商品名稱:味精,味素。
2、因味精起源于小麥,俗稱麩酸鈉、谷氨酸鈉。
3、 英文名稱:Monosodium L-glutamate。
4、簡寫:MSG 性狀:味精是無色至白色的柱狀結(jié)晶或白色的結(jié)晶性粉末。
5、 在Windows程序中,消息是由MSG結(jié)構(gòu)體來表示的。
6、MSG結(jié)構(gòu)體的定義如下(參見MSDN): typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 該結(jié)構(gòu)體中各成員變量的含義如下: 第一個成員變量hwnd表示消息所屬的窗口。
7、我們通常開發(fā)的程序都是窗口應(yīng)用程序,一個消息一般都是與某個窗口相關(guān)聯(lián)的。
8、例如,在某個活動窗口中按下鼠標(biāo)左鍵,產(chǎn)生的按鍵消息就是發(fā)給該窗口的。
9、在Windows程序中,用HWND類型的變量來標(biāo)識窗口。
10、 第二個成員變量message指定了消息的標(biāo)識符。
11、在Windows中,消息是由一個數(shù)值來表示的,不同的消息對應(yīng)不同的數(shù)值。
12、但是由于數(shù)值不便于記憶,所以Windows將消息對應(yīng)的數(shù)值定義為WM_XXX宏(WM是Window Message的縮寫)的形式,XXX對應(yīng)某種消息的英文拼寫的大寫形式。
13、例如,鼠標(biāo)左鍵按下消息是WM_LBUTTONDOWN,鍵盤按下消息是WM_KEYDOWN,字符消息是WM_CHAR,等等。
14、在程序中我們通常都是以WM_XXX宏的形式來使用消息的。
15、 提示:如果想知道WM_XXX消息對應(yīng)的具體數(shù)值,可以在Visual C++開發(fā)環(huán)境中選中WM_XXX,然后單擊鼠標(biāo)右鍵,在彈出菜單中選擇goto definition,即可看到該宏的具體定義。
16、跟蹤或查看某個變量的定義,都可以使用這個方法。
17、 第三、第四個成員變量wParam和lParam,用于指定消息的附加信息。
18、例如,當(dāng)我們收到一個字符消息的時候,message成員變量的值就是WM_CHAR,但用戶到底輸入的是什么字符,那么就由wParam和lParam來說明。
19、wParam、lParam表示的信息隨消息的不同而不同。
20、如果想知道這兩個成員變量具體表示的信息,可以在MSDN中關(guān)于某個具體消息的說明文檔查看到。
21、讀者可以在VC++的開發(fā)環(huán)境中通過goto definition查看一下WPARAM和LPARAM這兩種類型的定義,可以發(fā)現(xiàn)這兩種類型實際上就是unsigned int和long。
22、 最后兩個變量分別表示消息投遞到消息隊列中的時間和鼠標(biāo)的當(dāng)前位置。
23、 hwnd Identifies the window whose window procedure receives the message. message Specifies the message number. wParam Specifies additional information about the message. The exact meaning depends on the value of the message member. lParam Specifies additional information about the message. The exact meaning depends on the value of the message member. time Specifies the time at which the message was posted. pt Specifies the cursor position, in screen coordinates, when the message was posted. minigui中的MSG的定義: 在 MiniGUI 中,消息被如下定義(include/window.h): 352 typedef struct _MSG 353 { 354 HWND hwnd; 355 int message; 356 WPARAM wParam; 357 LPARAM lParam; 358 #ifdef _LITE_VERSION 359 unsigned int time; 360 #else 361 struct timeval time; 362 #endif 363 POINT pt; 364 #ifndef _LITE_VERSION 365 void* pAdd; 366 #endif 367 }MSG; 368 typedef MSG* PMSG; 一個消息由該消息所屬的窗口(hwnd)、消息編號(message)、消息的 WPARAM 型參數(shù)(wParam)連同消息的 LPARAM 型參數(shù)(lParam)組成。
24、消息的兩個參數(shù)中包含了重要的內(nèi)容。
25、比如,對鼠標(biāo)消息而言,lParam 中一般包含鼠標(biāo)的位置信息,而 wParam 參數(shù)中則包含發(fā)生該消息時,對應(yīng)的 SHIFT 鍵的狀態(tài)信息等。
26、對其他不同的消息類型來講,wParam 和 lParam 也具備明確的定義。
27、當(dāng)然,用戶也能夠自定義消息,并定義消息的 wParam 和 lParam 意義。
28、為了用戶能夠自定義消息,MiniGUI 定義了 MSG_USER 宏,可如下定義自己的消息: #define MSG_MYMESSAGE1 (MSG_USER + 1) #define MSG_MYMESSAGE2 (MSG_USER + 2)。
本文分享完畢,希望對大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!