yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2010-3-11, AM 9:03 星期四 文章主題: 3D遊戲程式設計入門附錄心得[未解之疑問篇] |
|
|
前言:此乃補丁文。只講解心得,不提供完整教學,有興趣的人請自行購買此書。
代碼: | 書名:3D遊戲程式設計入門-使用DirectX 9.0實作
作者:Frank D. Luna
譯者:黃聖峰
出版社:博碩文化 |
心得
一個應用程式(hInstance)內可以存在數個視窗(HWND)
但只有一個訊息佇列
所以我們才需要GetMessage或PeekMessage從訊息佇列中取得訊息
然後用DispatchMessage將訊息分派給正確的視窗的訊息處理函式
疑問
一、CreateWindow函式中的lpClassName屬性,是否能夠使用其他應用程式登錄的WNDCLASS?
比如說,我寫個A程式方案,登錄個"A_WND_CLASS"
然後寫個B程式方案,不自行建立WNDCLASS結構,直接在CreateWindow中登錄"A_WND_CLASS"可行嗎?
B程式方案辨認得出來另一方案中登錄過的WNDCLASS的ClassName嗎?
二、登錄的WNDCLASS會在何時結束登錄?
程式執行時會登錄WNDCLASS,那麼是在程式結束執行後就結束登錄了嗎?
還是會登錄到關機為止?
或者會登錄到過期為止?
這跟第一個問題是相關的,如果在A程式方案的WNDCLASS未結束登錄前,就執行B程式方案,它就可以認出來A程式方案的WNDCLASS嗎?
三、登錄了同名的WNDCLASS會如何?
因為WNDCLASS的lpClassName是隨便填的字串
如果C程式方案跟D程式方案都登錄了個同名的WNDCLASS
並且同時執行了
會出現什麼衝突而錯誤嗎?
以上三個問題,我會在有空後做個測試,有結果後再po上來分享 |
|