回調函數

第二個成員變量lpfnWndProc指定了這一類型窗口的過程函數,也稱回調函數。函數

回調函數的原理:當應用程序收到給某一窗口的消息時(還記得前面講過的消息一般與窗口相關的嗎?),spa

就應該調用某一函數來處理這條消息。這一調用過程不用應用程序本身來實施,而由操做系統來完成,操作系統

可是回調函數自己的代碼必須由應用程序本身完成。3d

對於一條消息,操做系統到底調用應用程序中的哪一個函數(回調函數)來處理呢?指針

操做系統調用的就接受消息的窗口所屬的類型中的lpfnWndProc成員指定的函數。blog

每一種不一樣類型的窗口都有本身專用的回調函數,該函數就是經過lpfnWndProc成員指定的。字符串

舉例:汽車廠家(應用程序)生產汽車(窗口)比如應用程序建立窗口,用戶(操做系統)使用汽車(窗口)比如操做系統管理窗口,回調函數

某種汽車(窗口)在銷售前就指定好了修理站(相似回調函數),當用戶(操做系統)的汽車(窗口)出現故障後(相似窗口收到消息),變量

汽車用戶(操做系統)本身直接找到修理站(回調函數)去修理,不用廠家(應用程序)親自原理

將車送到修理站去修理,但修理站還得由廠家(應用程序)事先建造好。

 

 

Windows中數據類型     對應的基本數據類型                   說明

BOOL               bool                布爾值
BSTR             unsigned short *           32位字符指針
BYTE             unsigned char             8位無符號整數
COLORREF          unsigned long              用做顏色值的32位值
DWORD            unsigned long            32位無符號整數,段地址和相關的偏移地址
LONG               long               32位帶符號整數
LPARAM               long               做爲參數傳遞給窗口過程或回調函數的32位值
LPCSTR             const char *           指向字符串常量的32位指針
LPSTR               char *             指向字符串的32位指針
LPVOID                 void *             指向未定義類型的32位指針
LRESULT                long             來自窗口過程或回調函數的32位返回值
UINT             unsigned int             32位無符號整數
WORD              unsigned short             16位無符號整數
WPARAM            unsigned int            看成參數傳遞給窗口過程或回調函數的32位值

 數據類型的前綴是P或LP,表示是一個指針或長指針數據類型前綴是U,表示無符號數據類型,等等。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息