注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > 微软开发专栏 > VB.NET 内容正文:VB中利用ccrpHotKey控件设置热键

VB中利用ccrpHotKey控件设置热键

发布时间:2006-03-10 20:38:55 来源:友佳学院 网友评论 0 条

  简介: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备份和恢复SQL Server数据库的方法
  • 如何编写高质量的VB代码
  • 给用和学VB的朋友打打气,同时分享创业故事
  • VB中利用第三方控件实现软件在线升级
  • 用VB2005构建反应灵敏的应用程序
【评论】【收藏本文】【打印】【关闭】
上一篇文章:Visual Basic编程映射/中断网络磁盘
下一篇文章:Visual Basic中轻松打造绚丽按钮
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
推荐阅讯
  • 巧用Win32 API函数增强VB位操作功能
  • VB COM编程基础之子过程函数和参数
  • VB实现文字“闪入”显示的特殊效果
  • VB表格控件总览与例程分析
  • VB中使用WinSock控件编写网络程序
  • 基于VB的流媒体解码与播放技术
  • 掌握VB中的ADO数据对象编程
  • VB COM基础讲座之编译的实例选项
  • VB.NET中采用多线程填写treeview控件
  • 将程序加入启动组
阅读排行
  • 1.通过实例学VB—创建简单的个人通讯录
  • 2.如何编写高质量的VB代码
  • 3.在VB的ListView控件中动态加载记录
  • 4.用VB备份和恢复SQL Server数据库的方法
  • 5.利用VB学做“黑客”程序
  • 6.掌握VB中的ADO数据对象编程
  • 7.将程序加入启动组
  • 8.VB程序中用ADO对象动态创建数据库和表
  • 9.VB与Excel2000实现复杂报表打印
  • 10.六天学会Visual Basic数据库编程
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载