MFC中Tab控件页面上的list控件无法处理消息

首先建立了一个对话框1.,然后加入了tab控件。然后建立对话框2,里面加入list控件然后将对话框2绑定到tab控件的第一页。使用的Create函数,ShowWindow... 首先建立了一个对话框1.,然后加入了tab控件。
然后建立对话框2,里面加入list控件
然后将对话框2绑定到tab控件的第一页。使用的Create函数,ShowWindow()函数
从CListCtrl类派生一个CMyList类,绑定list控件。
在CMyList类里面响应list控件的消息,响应不了啊,消息怎么不能过来。特别是拖拽文件的消息。有没有大神讲解讲解这种非模态对话框上控件类怎么实现消息响应啊。
展开
 我来答
来自月岩仪态万千的比目鱼
2014-09-18 · TA获得超过1571个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:971万
展开全部
以前也遇到过这问题。
好像是被Tab控件把消息给过滤了。
你试试继承Tab类,在类里面处理消息,检测到List消息之后,在发送消息到List。
更多追问追答
追问
一直都是写SDK程序的,最近在研究MFC,所以有好多东西都不是很懂。
对于你说的检测List消息,这个如何检测?能否详细说一下。
追答

可以使用

virtual BOOL PreTranslateMessage(MSG* pMsg);

拦截所有消息,然后分析这些消息。

BOOL CXXX::PreTranslateMessage(MSG* pMsg) //拦截回车消息
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN && GetKeyState(VK_CONTROL) && GetKeyState(VK_MENU) && pMsg->wParam == 'O')
{
MessageBox("Ctrl+Alt+O");
}
if(pMsg->message == WM_KEYDOWN)
{
         if(int(pMsg->wParam) == VK_RETURN )
{
return TRUE;
       }
return CDialog::PreTranslateMessage(pMsg);
}
return CDialog::PreTranslateMessage(pMsg);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式