如何在VC++中用回车键切换输入焦点

如何在VC++中用回车键切换输入焦点,第1张

Windows程序中Tab键是默认的切换输入焦点的按键,但用回车键切换输入焦点更符合人们的输入习惯。Delphi、VB中这个问题比较容易解决,VC++中却很少有资料提到。通过反复尝试,我找到了一种方法,或许对大家有所帮助。

1.VC++中appwizard生成一个基于对话框的程序。切换resourseview状态,在对话框中插入一个编辑框,同时修改其styles属性,选中multiline

、want

return两项。

2.

①在classwizard中选add

class增加一个新类,name定义为myedit,base

class选择edit。其余采用默认选项。

②在新生成的my-edit类中加入wm-keydown的消息映射函数,加入如下代码。

oid

Myedit::OnKeyDown(UINT

nChar,

UINT

nRepCnt,

UINT

nFlags){

//

TODO:

Add

your

message

handler

code

here

and/or

call

default

if

(nChar=

=

VK_RETURN)

//插入开始部分{

CDialog

Pwnd=(CDialog)GetParent()

;//取得对话框指针

Pwnd-NextDlgCtrl(

);

//切换到下一个输入焦点}

//插入结束部分

3.在classwizard中选择

member

variables

选项,class

name选择对话框类,control

ids中选择编辑框的id号,然后选择add

variable按扭。

在app的之前,SetVisible应该是可以实现窗口激活的,你的可能是顺序和释放有问题,大致应该是这样:

docsAdd(&tpl,&NewTemplate);//,&DocType,&Visble);

//    appSetVisible(TRUE);          //可见 位置不对,先注销掉

                

    doc = appGetActiveDocument();

    sel = appGetSelection();

sel=appGetSelection();//获取文档的selection

InlineShapes inlineshapes = selGetInlineShapes();

selMoveDown(COleVariant((short)4),COleVariant((short)41),COleVariant((short)0));

inlineshapesAddPicture(BmpFilePath,COleVariant((short)FALSE),COleVariant((short)TRUE),&_variant_t(selGetRange()));//添加,并制定其位置为当前光标位置

inlineshapesReleaseDispatch();

selReleaseDispatch();

docReleaseDispatch();

appSetVisible(TRUE);//在这里可见试试

appReleaseDispatch();

记得word应该不需要其它 *** 作,但如果实在不行,也可以用个无奈的办法,就是FindWindow查找顶层窗口找到Word窗口句柄,再用这个窗口句柄SetForegroundWindow就可以了。

大致就是:

HWND hWord = ::FindWindow(NULL,窗口标题);

::SetForegroundWindow(hWord);

补充一下,在使用“无奈”办法之前,你可以去mswordh文件中找找App类的方法。我这里没有环境了,没法试,记得可能还有些方法,什么ShowThis或者ShowMe什么的,可以尝试一下。

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

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

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

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

以上就是关于如何在VC++中用回车键切换输入焦点全部的内容,包括:如何在VC++中用回车键切换输入焦点、用VC++生成个Word怎么使之成为当前的焦点窗口!、VC 控件 是否获得焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10084216.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存