vc++中如何实现按下回车后编辑框输入焦点传递的功能如何为控件生成相关联的类

vc++中如何实现按下回车后编辑框输入焦点传递的功能如何为控件生成相关联的类,第1张

在VC++项目中,资源视图, 按下CTRL+D 依次点击各控件, 则会根据用户设定的顺序进行焦点传递, 就是TAB键的次序

为控件关联变量, 如果是VC6的话,快捷键是 CTRL+W 在类向导里面设置,

如果是VS2008及以上版本, 在控件上右键,选择关联成员变量  即可

一个控件,只能有一个ID,而且当你添加一个控件时,IDE(集成开发环境)会以控件名加一个序号来自动生成ID,如IDC_EDIT1,当你改变这个IDC_EDIT1改成IDC_EDIT_YEAR时,IDE又会将修改的ID值也保存,这样,当你打开Resourcesh文件时,就会发现,#

CTRL+D Taborder改为1,是有用的,只是不会有那个虚框。

按ENTER键也不是对这个按钮的 *** 作,在按钮属性上设置为默认按钮(default button)就可以了。

另外注意一下按钮属性中:tab stop是不是选中状态,如果这个没选中肯定不行。

你应该是通过点击别的控件(按钮)来获得当前焦点的编辑框吧,如果是MFC控件的编辑框的话当你点击按钮后编辑框的焦点就会丢失,所以可以用个变量来存上一个焦点控件,每次编辑框获得焦点的时候就存起来,下次点击按钮的时候就去这个值。。

希望对你有帮助

设置焦点 :以下语句添加在OnInitDialog()函数中

GetDlgItem(ID)->SetFocus();   ID 为控件ID

快捷键在 PreTranslateMessage(MSG pMsg)函数中设定

至于按TAB 键没反应  检查控件属性设定时 Tab Stop 项是否选中 须选中

我们常常会有这样的需求,想在窗口打开的时候就将焦点(光标)设置到某个指定的控件上去。

我们都知道设置焦点需要用到setFocus这个方法(几乎任何编程环境都这样VC,C#,VB,VF都这样)。

但在VC中我们使用了GetDlgItem(IDC_XX)->SetFocus()并不一定会达到我们需要的效果。

如果我们仅仅设置了SetFocus()那是不够的,我们还需要将对话框中的OnInitDialog的最后那句return设置为"FALSE";

我曾经在对话框中对各个控件的输入进行校验检测,当检测到不满足要求的输入则会d出对话框提示。

我本来的目的是d出提示框,但确定后回到窗体中后就将焦点和光标设置到对应的控件上,结果死都上不去。

一开始我以为是Setfocus的设置无效,后面发现是逻辑上错了,因为当提示框显示的时候,在提示框d出前通过SetFocus设置的焦点都将作废。

发现这一点后,我将d出提示框前需要设置获得焦点的目标控件存储起来,等提示框显示完了我仍然可以对该控件进行设置焦点的 *** 作,问题总算解决了。

QT控件获得焦点问题高手帮个忙啊,,,主窗口是QWidget 主窗口中有多个 QLineEdit 当点击QLineEdit d出虚拟键盘但是QLineEdit被重写了,, void LineEdit::focusInEvent(QFocusEvent event){

以上就是关于vc++中如何实现按下回车后编辑框输入焦点传递的功能如何为控件生成相关联的类全部的内容,包括:vc++中如何实现按下回车后编辑框输入焦点传递的功能如何为控件生成相关联的类、mfc 怎么获取当前控件前一个控件的id、VC对话框怎么把焦点设置在一个按钮上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9685244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存