2017-01-23 57 views
-3

我有簡單的視頻播放器。WTL CWindowImpl與CWnd兼容嗎?

https://github.com/sailfish009/sample_video

現在我想將它移植到Windows模板庫9.1。

編輯:解決了,CWindowImpl的處理程序與CWnd的兼容。

//screen = SDL_CreateWindowFrom(this->m_hWnd); //HWND from CWnd previous working code 
screen = SDL_CreateWindowFrom(m_hWndClient); //HWND from CWindowImpl 
+1

解決了!我犯了一個錯誤的設置寬度和高度。 CWindowImpl和CWnd的HWND完全相同。 – sailfish009

回答

1

這個問題被錯誤地提出。你不尋找兼容性,你只是尋找一種方法來訪問HWND窗口句柄。

不,這些類不兼容,更重要的是它們在概念上是不同的。 ATL/WTL CWindowImpl是一個實現窗口過程的類。這樣的過程通常是一個靜態函數,輔助類做「附加」到C++類的工作,將它連接到特定的薄窗口封裝器,例如CWindow,提供了簡單的方法來連接消息處理程序等。m_hWndClient甚至不是成員的CWindowImpl,屬於WTL框架窗口相關的類。