標籤:標識 執行 roc 視窗 paint 轉義 控制項 位置 win32
1、自動顯示視窗的標識符:WS_VISIBLE。若無此標識符,則需用ShowWindow()手動顯示所創的視窗。
2、UpdateWindow()產生一個WM_PAINT訊息。
3、訊息處理函數WinProc()中的參數hwnd只有當使用同一個視窗類別建立的多個視窗時才起作用,此時,它表明訊息來自哪個視窗。
4、WM_DESTROY在關閉視窗時產生,此訊息並不終止應用程式,僅僅關閉視窗。在此之前產生一個WM_CLOSE的訊息。
5、每處理一個訊息後,用return (0);來退出WinProc(),且通知系統已經處理了該訊息。
6、所有向WinProc()傳遞的參數都包含在MSG結構體中,且該結構體可在訊息迴圈中由GetMessage()或PeekMessage()捕獲。
7、<windowsx.h>包含一些有用的宏以及常量。WIN32_LEAN_AND_MEAN宏提示系統不要包含MFC的有關東西。
8、將字串作為資源載入時,每行長度不能超過255個字元(包括常量本身在內)。
9、除了逸出序列“\n”等不能放到字串表單裡,其他字元均可以,例如:%d、八進位碼序“\015”等。
10、int LoadString()載入字串資源,返回載入的字串長度。
11、滑鼠位置是相對於客戶區而言的,不包括邊界以及控制項,滑鼠傳遞的是相對於左上方(0,0)的座標;滑鼠按鍵編碼(以MK_開頭)在WM_MOUSEMOVE中處理。
12、自行發送訊息的函數:
LRESULT SendMessage():向視窗傳遞一個要求立即處理的訊息,在接收視窗處理完該訊息後緊跟接收視窗的WinProc()函數返回,且傳回值為WinProc()的傳回值;
BOOL PostMessage():向訊息佇列裡順序插入一個訊息,當輪到該訊息時才執行,也就是說該函數傳遞的訊息處理時有延遲,如果不在意這種短暫的延遲,則可以使用該函數傳遞訊息,同時,該函數也不容易出現訊息亂序。
......持續更新......
windows 遊戲編程大師 讀書筆記