2017-01-23 13 views
-3

나는 간단한 비디오 플레이어가 있습니다.Wnt CWindowImpl은 CWnd와 호환됩니까?

https://github.com/sailfish009/sample_video

는 지금은 포트에 윈도우 템플릿 라이브러리 9.1로합니다.

편집 : CWndowImpl의 CWnd 's와 호환되는 처리기가 해결되었습니다.

//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 프레임 창 관련 클래스에 속합니다.