资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> Delphi编程 >> 文档正文
最近更新
普通文档 Together与Visual.Studi
普通文档 Together与Visual.Studi
普通文档 Together与Visual.Studi
普通文档 Delphi实现在数据库中存
普通文档 Delphi开发多媒体播放音
普通文档 开发工具大比拼之Visual
普通文档 Delphi串口通讯的监听
普通文档 Delphi中远程控制的实现
普通文档 利用Delphi编写Socket通
普通文档 利用Delphi开发网络数据
推荐文章
  • 此栏目下没有推荐文档
  • VB中利用ccrpHotKey控件设置热键

    文章作者:佚名 录入时间:2006-6-2 来源:不详
    网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


     简介: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中利用ccrpHotKey控件设置热键”的内容  
    相关连接
  • 将Java程序变成Windows系统服务

  • 浅析Java多线程程序设计机制

  • Java初学者需掌握的30个基本概念(1)

  • JDBC 入门(1)

  • 面向Java程序员的Ajax:构建动态Java程序(1)