首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在CTabCtrl使用中,按Esc与enter键产生的有关问题

2013-01-28 
在CTabCtrl使用中,按Esc与enter键产生的问题我用CTabCtrl绑定了几个cdialog ,每个cdialog中有几个clistctr

在CTabCtrl使用中,按Esc与enter键产生的问题
我用CTabCtrl绑定了几个cdialog ,每个cdialog中有几个clistctrl  当我编辑clistctrl  单元格的时候按enter变白  后来重写了OnOk()事件页面不变白了,但是没办法完成输入完成功能。就像现在这样在CTabCtrl使用中,按Esc与enter键产生的有关问题  现在我需要是这样的效果,
在CTabCtrl使用中,按Esc与enter键产生的有关问题  不知道大家有没有什么方法。 CTabCtrl? CTabCtrl??Esc?enter
[解决办法]
 单元格的时候按enter变白 是edit获取焦点

你重写onok 又没有处理 edit没有获取焦点自然不会输入也不会变白!
[解决办法]
在主Dialog中重写PreTranslateMessage
if(pMsg->wParam==VK_RETURN) 
{
//Todo....
}
[解决办法]

引用:
引用:在主Dialog中重写PreTranslateMessage
if(pMsg->wParam==VK_RETURN) 
{
//Todo....
}


能详细点吗?具体怎样实现,我实在不知道啊。

我觉得这种方法不好。
继承CEdit,在key down消息中给edit所在的dialog发一个消息,dialog收到这个消息后,删除edit,再把焦点设置到listctrl上。选中的效果,可以用listctrl的函数来完成。
[解决办法]
9楼得方法不错,但是要重新加载个继承CEdit的类。还是要处理自己的keydown事件。

8楼的方法判断条件少了,加上控件类型PretranslateMessage里面可以有目标窗体句柄的。FromHandle可以返回窗体句柄。dynamic_cast直接转换为CEdit指针来判断是否是这个类型。否则其他窗体的VK_RETURN消息也要被截获了。

热点排行