2017-01-23 12 views
-3

У меня есть простой видеоплеер.Совместим ли WTL CWindowImpl с CWnd?

https://github.com/sailfish009/sample_video

теперь я хочу портировать его на окна библиотеки шаблонов 9.1.

Редактировать: разрешено, обработчик CWindowImpl совместим с CWnd's.

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

решён! я сделал ошибку, установив ширину и высоту. HWND из CWindowImpl и CWnd одинаковы. – sailfish009

ответ

1

Вопрос задан неверно. Вы не ищете совместимость, вы просто ищете способ доступа к окну дескриптора HWND.

Нет, классы несовместимы и более того, что они разные концептуально. В ATL/WTL CWindowImpl - это класс, который реализует процедуру окна. Такая процедура обычно является статической функцией, а вспомогательный класс выполняет задачу «прикрепления» ее к классу C++, подключает ее к определенной оболочке тонкого окна, такой как CWindow, предлагает простой способ подключения обработчиков сообщений и т. Д. m_hWndClient даже не член от CWindowImpl и относится к классам, связанным с окном кадра WTL.

 Смежные вопросы

  • Нет связанных вопросов^_^