一个MFC基于对话框的程序,在程序中自己定义了一个派生于CWnd类的窗口类,为什么不能响应mousewheel消息? 5

这个窗口用Create函数创建在了主对话框上,可以响应鼠标点击和鼠标移动消息,就是不能响应鼠标滚动,我在自定义类中写的OnMouseWheel函数不响应,程序直接响应了在... 这个窗口用Create函数创建在了主对话框上,可以响应鼠标点击和鼠标移动消息,就是不能响应鼠标滚动,我在自定义类中写的OnMouseWheel函数不响应,程序直接响应了在主对话框中写的OnMouseWheel函数,怎么能让鼠标在自定义类创建的窗口上是响应写在自定义类中的OnMouseWheel函数呢? 展开
 我来答
手机用户59523
2011-03-05 · TA获得超过195个赞
知道答主
回答量:163
采纳率:0%
帮助的人:122万
展开全部
ialog

在对话框内部那就是
(CWnd*)this ;

如果定义的
CXXXDialog dlg ;
就是 (CWnd*)&dlg ;

如果是对话框的控件如IDC_EDIT1
CWnd *pEdit = GetDlgItem( IDC_EDIT1 ) ;

CWinApp
CWinApp为应用程序类
MFC 中的主应用程序类封装用于 Windows 操作系统的应用程序的初始化、运行和终止。基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象。在创建窗口之前先构造该对象。

CWinApp 是从 CWinThread 派生的,后者表示可能具有一个或多个线程的应用程序的主执行线程。在最新版本的 MFC 中,InitInstance、Run、ExitInstance 和 OnIdle 成员函数实际位于 CWinThread 类中。此处将这些函数作为 CWinApp 成员来探讨,因为探讨所关心的是对象作为应用程序对象而不是主线程的角色。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luyt86
2011-02-25 · 超过18用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:0
展开全部
具体我也不知道为什么你创建的窗口不能响应鼠标滚动的消息,不过楼主可以试试在主对话框的OnMouseWheel里重新把鼠标滚动的消息发送给你自己创建的窗口,用下面这个函数:hwnd用你自己创建的窗口的句柄,
B00L PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式