VB 窗体 任务栏切换与焦点问题

VB 窗体 任务栏切换与焦点问题,第1张

焦点只允许一个程序拥有。拆链当切换程序时,将失去焦点

form1_gotfocus

你打错了。

应该是form——码尺gotfocus。

Form_LostFocus、Form_GotFocus只在当程序有多个窗体时,互相切换才能触发事件。而窗口迟御高和Windows中其他窗口进行切换时并不会触发这两个事件。

Private

Sub

Form_GotFocus()

MsgBox

"got

"

End

Sub

Private

Sub

Form_Load()

Form2.Show

End

Sub

Private

Sub

Form_LostFocus()

MsgBox

"lost

"

End

Sub

你试试这代码。

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按扭。


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

原文地址: http://outofmemory.cn/yw/12374203.html

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

发表评论

登录后才能评论

评论列表(0条)

保存