MdiForm窗体,Combo,DataCombo和DTPicker焦点

本文介绍了使用VBA在MdiForm窗体上自动聚焦菜单的方法,通过定义访问键并使用SendKeys来实现。同时,文章还展示了如何在ComboBox、DataCombo及DTPicker获得焦点时自动展开下拉列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.MdiForm窗体有菜单,MdiForm窗体打开时,将焦点移到菜单上!  

在要顶层菜单中定义一个访问键(或热键)的按键,如常见的情况:

文件(&F)
    打开
    保存
    ...

然后写入下面的代码:
Private Sub MDIForm_Activate()
    SendKeys "%F"
End Sub

在菜单没有设置访问键时,可以这样:

Private Sub MDIForm_Load()
    SendKeys "{F10}"                '主菜单激活
    SendKeys "{F10}{DOWN}"  '主菜单激活,并显示下列菜单

End Sub

2.Combo,DataCombo和DTPicker得到焦点,自动出现下拉菜单!  

Private Const CB_SHOWDROPDOWN As Long = &H14F
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long

Private Sub Combo1_GotFocus()
    SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, 1, 0&
End Sub

Private Sub DTPicker1_GotFocus()
    SendKeys "%{DOWN}"
End Sub

Private Sub DataCombo1_GotFocus()
    SendKeys "%{DOWN}"
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值