CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

我先写了一个控件,里面自动产生了一些CEdit控件,然后加入到一个程序中,可是用Tab键时无效?

楼主head163(去年不是很好希望今年好一点)2002-02-11 02:07:03 在 VC/MFC / 基础类 提问

请帮忙? 问题点数:100、回复次数:13Top

1 楼jiangsheng(蒋晟.Net[MVP])回复于 2002-02-11 14:26:20 得分 10

@_@Top

2 楼puwei76()回复于 2002-02-11 16:21:51 得分 10

你是不是截获了键盘消息了?而且一但控件中有CEdit时,因为CEdit本身就要用TAB键来编择,所以很容易无效的。  
  如:你在CEdit中按TAB,是什么意思(1.切换控件;2.移动制表位)?这本身就有二义。Top

3 楼puwei76()回复于 2002-02-11 16:22:07 得分 10

你是不是截获了键盘消息了?而且一但控件中有CEdit时,因为CEdit本身就要用TAB键来编择,所以很容易无效的。  
  如:你在CEdit中按TAB,是什么意思(1.切换控件;2.移动制表位)?这本身就有二义。Top

4 楼joshua0137(joshua)回复于 2002-02-12 14:42:39 得分 10

将它的属性对话框中Style一页中的Tab   Stop选上(大致如此,我现在在网吧上网).Top

5 楼joshua0137(joshua)回复于 2002-02-12 14:43:53 得分 10

对不起,俺搞错了,你得用代码给这些控件添加上这一风格Top

6 楼head163(去年不是很好希望今年好一点)回复于 2002-02-12 19:16:23 得分 0

大意是用tab键在各个控件上切换焦点!Top

7 楼JoeDuke(高宏伟 DukeJoe)回复于 2002-02-13 15:55:44 得分 10

你是不是用编程的方式实现的CEDIT这个控件,而不是用资源编辑器  
  如果是,那你可以设置CEDIT的STYLE中包含WS_TABSTOP风格就行了。  
  否则,上面已经joshua说了  
   
  比如   xx.style   |=   WS_TABSTOP   ;就可以增加这个风格了。Top

8 楼xIzam(糖糖)回复于 2002-02-13 17:36:20 得分 10

设置了WS_TABSTOP是不是用鼠标点击了按钮也不会获得焦点?  
  我想知道怎样让鼠标点击了也不会获得焦点Top

9 楼head163(去年不是很好希望今年好一点)回复于 2002-02-14 00:32:56 得分 0

还是谢谢各位的指点,是这样的,  
  我在一个由CWin类新派生的类中创建了几个CEdit控件,几个CButton控件(Check、Radio)、CComboBox类似的控件,我想在这几个控件中互相切换!  
  Top

10 楼head163(去年不是很好希望今年好一点)回复于 2002-02-14 00:36:09 得分 0

还是谢谢各位的指点,是这样的,  
  我在一个由CWin类新派生的类中创建了几个CEdit控件,几个CButton控件(Check、Radio)、CComboBox类似的控件,我想在这几个控件中按TAB键互相切换!  
  Top

11 楼chehw(chehw)回复于 2002-02-14 01:18:25 得分 10

重载PreTranslateMessage  
  BOOL   CMyWnd::PreTranslateMessage(LPMSG     msg   )  
  {  
          if(   IsDialogMessage(   msg   )   )  
                  return   TRUE;  
          else  
                  return   CWnd::PreTranslateMessage(   msg   );  
  }  
   
  Top

12 楼shu()回复于 2002-02-27 09:43:06 得分 20

看来得编程解决,做一个记录各创建对象的连表或数组如CObArray,然后截获键盘消息,按顺序设置焦点yourarray.GetAt(i)->SetFocus();Top

13 楼head163(去年不是很好希望今年好一点)回复于 2002-03-27 20:49:19 得分 0

控件创建时用:参数WS_EX_CONTROLPARENT为关键  
   
  DWORD   dwType   =   WS_CHILD|WS_VISIBLE|   WS_TABSTOP;  
  DWORD   dwExType   =   WS_EX_CONTROLPARENT|WS_EX_CLIENTEDGE;  
  CreateEx(dwExType,   FGSNETCTRL_CLASSNAME,   "",dwType,   trect,   this,   id);Top

相关问题

  • CStatic控件和CEdit控件
  • 关于CEdit控件
  • 如何禁用CEdit控件??
  • CEdit控件的UpdateData问题
  • 关于Tab控件
  • 关于tab控件
  • tab控件用法!
  • tab控件问题
  • 关于tab控件,很急?
  • tab控件怎么用?

关键词

  • 控件
  • ws
  • 键盘
  • 消息
  • cedit
  • 键
  • 无效
  • tab
  • tabstop
  • 截获

得分解答快速导航

  • 帖主:head163
  • jiangsheng
  • puwei76
  • puwei76
  • joshua0137
  • joshua0137
  • JoeDuke
  • xIzam
  • chehw
  • shu

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo