我用ATL写了一个很简单的EDIT的控件,把它放到VB的上的时候,只要在此控件中输入tab或上下左右键,VB就会把焦点从控件中移开。当然VB自带的edit控件在输入tab键的时候也会丢失焦点,但是它可以接受上下左右键。我试验了好多久,一直没有找到如何让我的控件能够接受tab和上下左右键的方法。这里恳请有经验的高手指点一二,本人不胜感激。
为了把问题解释的更清楚一些,各位可以做如下试验。
第一步:用VC创建一个test工程,类型选择MFC ActiveX ContralWizard 按OK。(选MFC比ATL叙述起来简单一些)
第二步:选Next来到MFC ActiveX ContralWizard Step 2 of 2向导对话框,在Which Window Class组合框中选EDIT,按Finish,生成test工程。
第三步:生成test.ocx
第四步:新建一个VB工程,引用test部件,在主form中拉一个test控件,和一个buttom控件,运行。
运行的时候你会发现,只要在test中敲入方向键,焦点就会移到buttom中。
请问如何做可以使得test控件可以接受tab和上下左右键,如果接受tab有困难,能够接受上下左右键也可以。
为了把问题解释的更清楚一些,各位可以做如下试验。
第一步:用VC创建一个test工程,类型选择MFC ActiveX ContralWizard 按OK。(选MFC比ATL叙述起来简单一些)
第二步:选Next来到MFC ActiveX ContralWizard Step 2 of 2向导对话框,在Which Window Class组合框中选EDIT,按Finish,生成test工程。
第三步:生成test.ocx
第四步:新建一个VB工程,引用test部件,在主form中拉一个test控件,和一个buttom控件,运行。
运行的时候你会发现,只要在test中敲入方向键,焦点就会移到buttom中。
请问如何做可以使得test控件可以接受tab和上下左右键,如果接受tab有困难,能够接受上下左右键也可以。
解决方案 »
- 本人用MFC封装的CAsyncSocket类写了一个客户端的程序,为什么每次connect()之后,都不会进OnConnect()函数中呢?
- char *pArray={"捐款,会员,积分,账户,付款,回复"}; char *subStr=&pArray[1];subStr值是多少?
- 在线等:在View上面的矩形区域内显示一张图,但是现在想在那个矩形上面显示两张图形,这两张图用tab切换,怎么实现呀
- 如何判断C盘根目录下2.doc文件是否已经打开???
- 看过伍红兵的<visual c++编程深入引导>的请谈谈对此书的的看法
- 惊爆青藏线,国内多个著名军坛肉搏《中国国家地理》7月刊卷首语
- 在Dll中使用图形句柄出错,急!!!
- 我想直接创建对话框,该如何做?
- DAO数据库移植出错,高分,急。
- lib的问题,请高手前来解答
- 求助: 关于CListCtrl中Item可以显示文字的最大长度! 内详(有代码)UP有分
- 有没有办法改变文件中的几个字节
在MFC下,只有PreTranslateMessage可以重载,可是我查看了一下COleControl::XOleInPlaceActiveObject::TranslateAccelerator的实现,发现在PreTranslateMessage无论我怎么做都不能让TranslateAccelerator函数返回S_FALSE,这样我就无法取得我需要的效果,也许只有截获TranslateAccelerator的实现才有得搞!
由于我得控件是ATL做的,所以我得问题可以说是解决了!无论怎么样,非常感谢你得帮助,我在下面还有一个帖子
http://community.csdn.net/Expert/topic/4235/4235347.xml?temp=.1208155
有空得话去一下,我好把两百分都给你。