电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> VB编程>>VB中利用ccrpHotKey控件设置热键:

VB中利用ccrpHotKey控件设置热键

来源:www.cncfan.com | 2006-12-16 | (有2315人读过)

  简介:ccrphotkey是一个第三方控件,该控件可以轻松实现热键功能

  使用示例

   您一定对“Ctrl+Alt+Z”很熟悉吧?没错,它是QQ里打开消息对话框的默认热键,通过这组热键,我们可以很迅速的打开消息对话框查看,大大加快我们操作的速度。同时我们也知道,在QQ的系统设置中可以对热键进行设置(如图1),当我们按下任何热键组合时,文本框都会实时显示热键组合,让用户明白当前按下的热键是什么。


图1
   热键可以大大加快使用者的操作速度,对于开发者来说,在自己的程序中使用热键同样会使操作更简便、使得程序更加人性化。那么你是否也想实现像QQ中那样的可以让用户自由设置的热键编辑框呢?下面我们就通过使用示例,介绍一个很实用的控件ccrpHotKey,它可以帮助你轻松实现强大的热键功能。

   ccrpHotKey控件的外观以及许多属性都跟我们熟悉的文本框的属性相类似,因此我们可以很轻松的对其进行设置。

   第一步:首先启动Visual Basic 6.0,新建一个窗口。
  
   第二步:加载ccrpHotKey控件,设置其属性。

   ①在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到ccrpHotKey控件,载入它;把它添加到Form1窗体中适当位置即可。

   ②修改ccrpHotKey控件属性。选中ccrpHotKey控件后,在属性设置区域可以对其进行设置,其中的按键组合设置最为重要(如图2),你可以根据需要设置允许或者禁止某些组合,如要禁止“Ctrl+Alt”的组合,就将AllowCtrlAlt属性改为False即可,依此类推。当然,我们也可以在程序运行中动态地改变这些属性。


图2
   第三步:加载其他控件,完成界面的设置。

   ①在窗体中添加用于设置热键和退出的2个CommandButton控件,名称分别为cmdSetHotKey和cmdExit,caption属性为“设置热键”和“退出”。

   ②添加一个frame控件,caption为“热键信息”;在其中添加两个Label标签,名称为lblKeyCode和lblShift,用来显示按下热键的KeyCode等信息。

   完成后的界面如图3所示例。下面就开始代码的编写。


图3
   第四步:编写代码,实现具体的功能。

   ①在通用区域定义要使用的变量,代码如下:

  Private m_KeyCode As Integer
   Private m_Shift As Integer

   其中m_Shift用来存放热键的组合,m_KeyCode用来存放热键中具体字母或者数字等的KeyCode值。

   ②申明程序中要使用的过程,代码如下

  Private Sub DisplayKeyCode()
    lblKeyCode.Caption = "KeyCode: " & Str$(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
     MsgBox "按下了热键: KeyCode = " & Str(KeyCode) & "; Shift = " & Str(Shift)
    End If
   End Sub

   若按下的键与设置的热键一致,则弹出对话框显示热键相关信息。

   到这里,这个简单的演示程序就完成了,按下F5运行程序,点击ccrpHotKey控件,按下任意热键组合,ccrpHotKey控件就会实时地显示你当前按下的热键,并且右边的Label会显示热键信息(如图4)。


图4
   选中一个热键后,点击“保存按钮”,再按下刚保存的热键,程序就会弹出对话框(如图5),演示成功!


图5
   通过这个控件,我们可以实现让用户自己设定热键,并且实时显示热键的功能,使得程序更加人性化。我们还可以通过API函数将获得的ccrpHotKey1.KeyCode和ccrpHotKey1.shift值保存为系统热键,这样即使程序没有获得焦点,热键仍然可以使用。开动你的脑筋,相信ccrpHotKey控件可以帮你打造出更完美的热键功能!

VB编程热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号