VC++, 如何获取焦点所在窗口? 然后找到这个窗口后, 如何获取这个窗口的焦点所在子窗口?

VC++, 如何获取焦点所在窗口? 然后找到这个窗口后, 如何获取这个窗口的焦点所在子窗口?,第1张

GetFocus:功能确定当前焦点位于哪个控件上。

函数禅野茄执行成功时返回当前得到焦点控件的贺察引用,发生错误时返回无效引用。用法应用程序利用IsValid()函数可以检测GetFocus()是否返回有效的控件引用。同时,使用TypeOf()函数可以确定控件的类脊并型。

HWND GetFocus( void )

HWND GetParent(HWND hwnd)可以用来获得父窗口

这个题目没有巧妙的方虚孙法,只能用setfocus来控制你需要的到焦祥者点的文本框谨誉薯。

另外,上下左右键可以控制焦点在text1、text2..中切换,可是这样就屏蔽了它的另一个功能:在单独的text中移动光标的位置,为此,添加一个check1,勾选这个check1 就是移动焦点,否则就是移动光标在某个文本框中的位置!

在窗体上创建4个文本框,按照上,下左右的顺序排列,创建一个checkbox,复制下面的代码运行一下:

Option Explicit

Private Sub Check1_Click()

Text1.SetFocus

If Check1.Value = 1 Then

Form1.KeyPreview = True

Else

Form1.KeyPreview = False

End If

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case 37

Text1.SetFocus

Case 38

Text2.SetFocus

Case 39

Text3.SetFocus

Case 40

Text4.SetFocus

End Select

End Sub

虽然你的m_pPostItDlg[i]中的对话框是非模态的,但是AfxMessagebox是模态对局简话框

在这种情况档察下一般不行腊茄直接使用AfxMessagebox,而是自己做一个非模态的对话框作为提示信息.整个应用程序使用一个全局的也没有问题


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

原文地址: https://outofmemory.cn/yw/12290325.html

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

发表评论

登录后才能评论

评论列表(0条)

保存