【问题标题】:Does WTL CWindowImpl compatible with CWnd?WTL CWindowImpl 是否与 CWnd 兼容?
【发布时间】:2017-06-07 12:46:03
【问题描述】:

我有简单的视频播放器。

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

【问题讨论】:

  • 解决了!我在设置宽度和高度时犯了一个错误。 CWindowImpl 中的 HWND 和 CWnd 完全相同。

标签: sdl-2 wtl


【解决方案1】:

问题问错了。您不寻找兼容性,您只是寻找访问HWND窗口句柄的方法。

不,这些类是不兼容的,更多的是它们在概念上是不同的。在 ATL/WTL 中,CWindowImpl 是一个实现窗口过程的类。这样的过程通常是一个静态函数,帮助类将其“附加”到 C++ 类,将其连接到特定的瘦窗口包装器,例如CWindow,提供连接消息处理程序等的简单方法。m_hWndClient 是甚至不是CWindowImpl 的成员,属于WTL 框架窗口相关类。

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 2013-09-18
    • 1970-01-01
    • 2011-05-23
    • 2011-10-22
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多