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