Mfc 不关注要查看的窗口子对象

Mfc 不关注要查看的窗口子对象,mfc,mousewheel,cview,Mfc,Mousewheel,Cview,我创建了一个简单的MFC MDI应用程序。然后我创建了一个DLL,它实现了一个简单的窗口(继承自CWnd)。我希望它是应用程序中CView窗口的子窗口。因此,当应用程序启动并创建视图时,我会将CView句柄作为父窗口来创建窗口 除了鼠标滚轮问题外,它工作正常:重点是CView窗口(虽然我的窗口覆盖了整个客户端区域),因此我的窗口不会接收WM\u mouseweel消息。 SetFocus() 除了子类化/挂接父对象之外,还有其他正确的方法来修复它吗? 我希望它在DLL中完成 附言。 我的窗口是用

我创建了一个简单的MFC MDI应用程序。然后我创建了一个DLL,它实现了一个简单的窗口(继承自
CWnd
)。我希望它是应用程序中
CView
窗口的子窗口。因此,当应用程序启动并创建视图时,我会将
CView
句柄作为父窗口来创建窗口

除了鼠标滚轮问题外,它工作正常:重点是
CView
窗口(虽然我的窗口覆盖了整个客户端区域),因此我的窗口不会接收
WM\u mouseweel
消息。
SetFocus()

除了子类化/挂接父对象之外,还有其他正确的方法来修复它吗? 我希望它在DLL中完成

附言。
我的窗口是用于OpenGL渲染的,我希望它尽可能自给自足。

您的窗口是否具有
WS\u TABSTOP
?这是我的第一个猜测。不,它没有帮助。所以你的窗口覆盖了其父窗口的整个客户端区域(即CView)?是的,它是。我点击itI甚至有一个“焦点查看器”工具(它只在桌面DC上呈现当前焦点窗口的句柄)。点击我的窗口不会改变焦点(或者,至少它不可见)。我现在正考虑通过对
CView
窗口进行子类化并查看其
WM\u SETFOCUS
来对其进行更深入的研究。我只是想了解一下,可能是MFC的MDI应用程序窗口的行为……您的窗口是否有
WS_TABSTOP
?这是我的第一个猜测。不,它没有帮助。所以你的窗口覆盖了其父窗口的整个客户端区域(即CView)?是的,它是。我点击itI甚至有一个“焦点查看器”工具(它只在桌面DC上呈现当前焦点窗口的句柄)。点击我的窗口不会改变焦点(或者,至少它不可见)。我现在正考虑通过对
CView
窗口进行子类化并查看其
WM\u SETFOCUS
来对其进行更深入的研究。只是想了解可能是MFC的MDI应用程序窗口的行为。。。