2017-01-23 61 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框架窗口相关的类。