使用示例
您一定對“Ctrl+Alt+Z”很熟悉吧?沒錯,它是QQ里打開消息對話框的默認熱鍵,通過這組熱鍵,我們可以很迅速的打開消息對話框查看,大大加快我們操作的速度。同時我們也知道,在QQ的系統(tǒng)設置中可以對熱鍵進行設置(如圖1),當我們按下任何熱鍵組合時,文本框都會實時顯示熱鍵組合,讓用戶明白當前按下的熱鍵是什么。
圖1 |
熱鍵可以大大加快使用者的操作速度,對于開發(fā)者來說,在自己的程序中使用熱鍵同樣會使操作更簡便、使得程序更加人性化。那么你是否也想實現像QQ中那樣的可以讓用戶自由設置的熱鍵編輯框呢?下面我們就通過使用示例,介紹一個很實用的控件ccrpHotKey,它可以幫助你輕松實現強大的熱鍵功能。
ccrpHotKey控件的外觀以及許多屬性都跟我們熟悉的文本框的屬性相類似,因此我們可以很輕松的對其進行設置。
第一步:首先啟動Visual Basic 6.0,新建一個窗口。
第二步:加載ccrpHotKey控件,設置其屬性。
、僭诳丶ぞ邫谥袉螕粲益I,選擇“部件”,在彈出的窗口中點擊“瀏覽”,找到ccrpHotKey控件,載入它;把它添加到Form1窗體中適當位置即可。
、谛薷腸crpHotKey控件屬性。選中ccrpHotKey控件后,在屬性設置區(qū)域可以對其進行設置,其中的按鍵組合設置最為重要(如圖2),你可以根據需要設置允許或者禁止某些組合,如要禁止“Ctrl+Alt”的組合,就將AllowCtrlAlt屬性改為False即可,依此類推。當然,我們也可以在程序運行中動態(tài)地改變這些屬性。
圖2 |
第三步:加載其他控件,完成界面的設置。
、僭诖绑w中添加用于設置熱鍵和退出的2個CommandButton控件,名稱分別為cmdSetHotKey和cmdExit,caption屬性為“設置熱鍵”和“退出”。
②添加一個frame控件,caption為“熱鍵信息”;在其中添加兩個Label標簽,名稱為lblKeyCode和lblShift,用來顯示按下熱鍵的KeyCode等信息。
完成后的界面如圖3所示例。下面就開始代碼的編寫。
圖3 |
第四步:編寫代碼,實現具體的功能。
、僭谕ㄓ脜^(qū)域定義要使用的變量,代碼如下:
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事件發(fā)生時候觸發(fā)這個過程,使兩個Label標簽顯示當前熱鍵的KeyCode值。
、劬帉慶crpHotKey控件的代碼,分別在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值保存為系統(tǒng)熱鍵,這樣即使程序沒有獲得焦點,熱鍵仍然可以使用。開動你的腦筋,相信ccrpHotKey控件可以幫你打造出更完美的熱鍵功能!