VB中窗体快捷键设置如何设置?

天极传媒:天极网全国分站
您现在的位置:
& >>VB中利用ccrpHotKey控件设置热键
VB中利用ccrpHotKey控件设置热键
    :ccrphotkey是一个,该可以轻松实现功能  使用示例  您一定对“+Alt+Z”很熟悉吧?没错,它是里打开消息对话框的热键,通过这组热键,我们可以很迅速的打开消息对话框查看,大大加快我们操作的速度。同时我们也知道,在的系统设置中可以对热键进行设置(如图1),当我们按下任何热键组合时,都会实时显示热键组合,让用户明白当前按下的热键是什么。
图1  热键可以大大加快使用者的操作速度,对于开发者来说,在自己的程序中使用热键同样会使操作更简便、使得程序更加人性化。那么你是否也想实现像QQ中那样的可以让用户自由设置的热键编辑框呢?下面我们就通过使用示例,介绍一个很的控件ccrpHotKey,它可以帮助你轻松实现强大的热键功能。  ccrpHotKey控件的外观以及许多属性都跟我们熟悉的文本框的属性相类似,因此我们可以很轻松的对其进行设置。  第一步:首先启动Visual
6.0,一个窗口。    第二步:ccrpHotKey控件,设置其属性。  ①在控件工具栏中单击,选择“部件”,在弹出的窗口中点击“浏览”,找到ccrpHotKey控件,载入它;把它到Form1窗体中适当位置即可。  ②修改ccrpHotKey控件属性。选中ccrpHotKey控件后,在属性设置区域可以对其进行设置,其中的组合设置最为重要(如图2),你可以根据需要设置允许或者禁止某些组合,如要禁止“Ctrl+Alt”的组合,就将AllowCtrlAlt属性改为False即可,依此类推。当然,我们也可以在程序运行中动态地改变这些属性。
图2  第三步:加载控件,完成界面的设置。  ①在窗体中添加用于设置热键和退出的CommandButton控件,名称分别为cmdSetHotKey和cmdExit,caption属性为“设置热键”和“退出”。  ②添加一个控件,caption为“热键信息”;在其中添加两个Label标签,名称为lblKeyCode和lblShift,用来显示按下热键的KeyCode等信息。  完成后的界面如图3所示例。下面就开始代码的编写。
图3  第四步:编写代码,实现具体的功能。   ①在区域定义要使用的变量,代码如下:
  Private m_KeyCode
Integer  Private m_Shift As Integer  其中m_Shift用来存放热键的组合,m_KeyCode用来存放热键中具体字母或者数字等的KeyCode值。  ②申明程序中要使用的过程,代码如下
  Private
DisplayKeyCode()   lblKeyCode.Caption = "KeyCode: " & $(ccrpHotKey1.KeyCode)   lblShift.Caption = "Shift: " & Str$(ccrpHotKey1.Shift)  End Sub   这段代码用于设置两个Lable标签的Caption,当ccrpHotKey1的KeyDown事件发生时候触发这个过程,使两个Label标签显示当前热键的KeyCode值。  ③编写ccrpHotKey控件的代码,分别在ccrpHotKey控件得到焦点、按下按键和失去焦点时调用DisplayKeyCode过程:
  Private Sub ccrpHotKey1_GotFocus()   DisplayKeyCode  End Sub  Private Sub ccrpHotKey1_KeyDown(KeyCode As Integer, Shift As Integer)   DisplayKeyCode  End Sub  Private Sub ccrpHotKey1_LostFocus()   DisplayKeyCode  End Sub  为什么要在得到焦点和失去焦点的事件中也调用过程呢?这样是为了确保Label标签显示的热键信息准确,和ccrpHotKey保持同步。  ④编写保存热键的代码:
  Private Sub cmdSetHotKey_Click()   m_KeyCode = ccrpHotKey1.KeyCode   m_Shift = ccrpHotKey1.Shift  End Sub  将设置好的热键保存在两个变量中,以供调用。  ⑤加入窗体的KeyDown事件,以效果。
  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)   If KeyCode = m_KeyCode And Shift = m_Shift Then     "按下了热键: KeyCode = " & Str(KeyCode) & "; Shift = " & Str(Shift)   End If  End Sub  若按下的键与设置的热键一致,则弹出对话框显示热键相关信息。  到这里,这个简单的演示程序就完成了,按下F5运行程序,点击ccrpHotKey控件,按下任意热键组合,ccrpHotKey控件就会实时地显示你当前按下的热键,并且右边的Label会显示热键信息(如图4)。
图4   选中一个热键后,点击“保存按钮”,再按下刚保存的热键,程序就会弹出对话框(如图5),演示成功!
图5  通过这个控件,我们可以实现让用户自己设定热键,并且实时显示热键的功能,使得程序更加人性化。我们还可以通过API将获得的ccrpHotKey1.KeyCode和ccrpHotKey1.shift值保存为系统热键,这样即使程序没有获得焦点,热键仍然可以使用。开动你的脑筋,相信ccrpHotKey控件可以帮你打造出更完美的热键功能!&&阅读关于
的全部文章
(作者:第七乐章责任编辑:方舟)
天极新媒体&最酷科技资讯扫码赢大奖
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
办公软件IT新闻整机vb按钮如何设置快捷键,_百度知道
vb按钮如何设置快捷键,
我有更好的答案
用菜单编辑器就可以了。快捷键设置后,在菜单按钮的click事件下编写:form1.visible=true
采纳率:92%
来自团队:
设置VB窗体中按扭快捷键的操作可以采用下面两种方法来实现:1、在按扭的Capion 属性设置标题的时候,前面增加 &&K&字符就可以,K代表的是你准备使用的Alt+键盘字符,如“&O.退出”,程序运行的时候按下 Alt+O 即执行该按扭的操作了2、你可以利用该按扭所在的Form 窗体优先权获得键盘操作功能来激发你要完成的按扭操作,此时首先要设置Form 的KeyPreview 属性值为 True,然后在 Form中KeyDown事件中判断你需要的组合键盘值来激发你的按扭事件.Form_KeyDown事件中的各功能键值组合比较全面,如Shift,Alt 及Ctr等,一般都能满足快捷键的组合需求了.Exp:利用Ctrl+O组合键激发上面所说的按扭键,在Form_KeyDown事件中添加如下代码Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 79 Then
btnQuit_Click()
End SubbtnQuit_Click()是退出程序按扭事件
不要组合的
如果不需要组合键的话,可以在 Form_KeyPress()事件中来判断需要的键盘值.Exp:
想用键盘值[K]控制窗体上的一个按扭 Command2_Click()事件
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 107 Then '键盘K的Ascii码值=107
Call Command2_Click()
本回答被网友采纳
'给你举个简单的例子Private&Sub&Form_Load()&&&&Command1.Caption&=&&我是Q的快捷键&Q&&&&&'你可以把&后面的字母改成你需要快捷键的字母End&SubPrivate&Sub&Command1_Click()&MsgBox&&你按了Ait+Q&End&Sub'请参考采纳!谢谢!
设置快捷键 要定义 key.ini(键值对) 这样配置文件,例如开始=45快跑=46....类似这样的,然后45,46是 字母对应的ASCII码表。
搞个keydown的事件就好了
呵呵,不懂,能不能列出来
Private&Declare&Function&GetAsyncKeyState&Lib&&user32&&(ByVal&vKey&As&Long)&As&IntegerPrivate&Sub&Form_Load()Timer1.Interval&=&300&'设定检测间隔End&SubPrivate&Sub&Timer1_Timer()If&GetAsyncKeyState(vbKeyQ)&Then&'&判断你需要的快捷键是否按下,这里使用“Q”Call&Command1_click&'按下按钮ElseEnd&IfEnd&Sub&&&还有第二种方法Private&Sub&Form_KeyDown(KeyCode&As&Integer,&Shift&As&Integer)&If&KeyCode&=&vbKey1&&Then&‘按下1键Call&Command1_Click&end&if&End&Sub注意这是form的keydown事件,要求form必须具有焦点请参考,采纳,谢谢
用不了 怎么办。?
Private&Declare&Function&GetAsyncKeyState&Lib&&user32&&(ByVal&vKey&As&Long)&As&IntegerPrivate&Sub&Command1_Click()MsgBox&&Command1被按下&End&SubPrivate&Sub&Form_Load()Timer1.Interval&=&300&'设定检测间隔End&SubPrivate&Sub&Timer1_Timer()If&GetAsyncKeyState(vbKeyQ)&Then&'&判断按键QCall&Command1_ClickElseEnd&IfEnd&Sub&
你看这是为什么?
我找到问题了。。。。是因为你的Command1 下没有写任何东西。。。缺少下面的语句Private Sub Command1_Click()MsgBox &COMMAND1被按下&End Sub
如何设置其他的快捷键???
其他3条回答
为您推荐:
其他类似问题
快捷键的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。VB.net中怎样给一个button加入快捷键!
[问题点数:40分,结帖人xujing18]
本版专家分:30
结帖率 100%
CSDN今日推荐
本版专家分:6563
本版专家分:219637
2013年 荣获名人称号
2012年 总版技术专家分年内排行榜第一
2013年 总版技术专家分年内排行榜第七2011年 总版技术专家分年内排行榜第五2009年 总版技术专家分年内排行榜第九
2012年11月 总版技术专家分月排行榜第一
本版专家分:30
结帖率 100%
本版专家分:0
匿名用户不能发表回复!|
CSDN今日推荐快捷键怎么弄的??????【vb吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:109,491贴子:
快捷键怎么弄的??????收藏
求VB教授,专家,老师们 直接了当。。。如图。。。就是 当前窗口为活动时 我按一个键 就可以关闭 该窗口。。。快捷键怎么加上去????就好像 windows固定就是alt+F4 这个快捷键虽然很有效
但距离太远了 我根本不方便按我想自己加一个上去为:ctrl+g 我自己的习惯。。。。
比如下图所视:当前窗口是活动状态
我按下alt+f4马上关闭我想增加一个快捷键。。。怎么弄
在菜单编辑器中自己加
'====热键:Home键======窗体活动与不活的,都可以关闭你的那个窗体================Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As IntegerPrivate Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As LongPrivate Sub Form_Load()
Timer1.Enabled = True: Timer1.Interval = 50End Sub Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyHome) &= 0 Then Exit Sub
EndEnd Sub
1.SetWindowsHookEx2.RegisterHotKey百度"vb 热键"一堆代码..
怎么弄快捷
这问题用不上API,只需要把窗体的KeyPreview属性设为True然后再在Form_KeyDown事件中判断按键就行了
登录百度帐号

我要回帖

更多关于 vb窗体快捷键设置 的文章

 

随机推荐