程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> VB中利用ccrpHotKey控件設置熱鍵

VB中利用ccrpHotKey控件設置熱鍵

編輯:VB6

簡介: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控件可以幫你打造出更完美的熱鍵功能!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved