軟件首頁 |  文章首頁
最新更新 軟件分類 設(shè)為首頁 加入收藏 聯(lián)系我們
當(dāng)前位置:首頁文章首頁 IT學(xué)院 VB

VB中利用ccrpHotKey控件設(shè)置熱鍵

作者:東坡下載  來源:uzzf  發(fā)布時間:2010-10-14 13:39:41  點(diǎn)擊:

      簡介:ccrphotkey是一個第三方控件,該控件可以輕松實(shí)現(xiàn)熱鍵功能
  使用示例
  您一定對“Ctrl+Alt+Z”很熟悉吧?沒錯,它是QQ里打開消息對話框的默認(rèn)熱鍵,通過這組熱鍵,我們可以很迅速的打開消息對話框查看,大大加快我們操作的速度。同時我們也知道,在QQ的系統(tǒng)設(shè)置中可以對熱鍵進(jìn)行設(shè)置(如圖1),當(dāng)我們按下任何熱鍵組合時,文本框都會實(shí)時顯示熱鍵組合,讓用戶明白當(dāng)前按下的熱鍵是什么。


圖1

  熱鍵可以大大加快使用者的操作速度,對于開發(fā)者來說,在自己的程序中使用熱鍵同樣會使操作更簡便、使得程序更加人性化。那么你是否也想實(shí)現(xiàn)像QQ中那樣的可以讓用戶自由設(shè)置的熱鍵編輯框呢?下面我們就通過使用示例,介紹一個很實(shí)用的控件ccrpHotKey,它可以幫助你輕松實(shí)現(xiàn)強(qiáng)大的熱鍵功能。
  ccrpHotKey控件的外觀以及許多屬性都跟我們熟悉的文本框的屬性相類似,因此我們可以很輕松的對其進(jìn)行設(shè)置。
  第一步:首先啟動Visual Basic 6.0,新建一個窗口。
  第二步:加載ccrpHotKey控件,設(shè)置其屬性。
 、僭诳丶ぞ邫谥袉螕粲益I,選擇“部件”,在彈出的窗口中點(diǎn)擊“瀏覽”,找到ccrpHotKey控件,載入它;把它添加到Form1窗體中適當(dāng)位置即可。
 、谛薷腸crpHotKey控件屬性。選中ccrpHotKey控件后,在屬性設(shè)置區(qū)域可以對其進(jìn)行設(shè)置,其中的按鍵組合設(shè)置最為重要(如圖2),你可以根據(jù)需要設(shè)置允許或者禁止某些組合,如要禁止“Ctrl+Alt”的組合,就將AllowCtrlAlt屬性改為False即可,依此類推。當(dāng)然,我們也可以在程序運(yùn)行中動態(tài)地改變這些屬性。

圖2

  第三步:加載其他控件,完成界面的設(shè)置。

 、僭诖绑w中添加用于設(shè)置熱鍵和退出的2個CommandButton控件,名稱分別為cmdSetHotKey和cmdExit,caption屬性為“設(shè)置熱鍵”和“退出”。

 、谔砑右粋frame控件,caption為“熱鍵信息”;在其中添加兩個Label標(biāo)簽,名稱為lblKeyCode和lblShift,用來顯示按下熱鍵的KeyCode等信息。

  完成后的界面如圖3所示例。下面就開始代碼的編寫。


圖3

  第四步:編寫代碼,實(shí)現(xiàn)具體的功能。

 、僭谕ㄓ脜^(qū)域定義要使用的變量,代碼如下:

  Private m_KeyCode As Integer
  Private m_Shift As Integer

  其中m_Shift用來存放熱鍵的組合,m_KeyCode用來存放熱鍵中具體字母或者數(shù)字等的KeyCode值。

 、谏昝鞒绦蛑幸褂玫倪^程,代碼如下

  Private Sub DisplayKeyCode()
   lblKeyCode.Caption = "KeyCode: " & Str$(ccrpHotKey1.KeyCode)
   lblShift.Caption = "Shift: " & Str$(ccrpHotKey1.Shift)
  End Sub

  這段代碼用于設(shè)置兩個Lable標(biāo)簽的Caption,當(dāng)ccrpHotKey1的KeyDown事件發(fā)生時候觸發(fā)這個過程,使兩個Label標(biāo)簽顯示當(dāng)前熱鍵的KeyCode值。

 、劬帉慶crpHotKey控件的代碼,分別在ccrpHotKey控件得到焦點(diǎn)、按下按鍵和失去焦點(diǎn)時調(diào)用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

  為什么要在得到焦點(diǎn)和失去焦點(diǎn)的事件中也調(diào)用過程呢?這樣是為了確保Label標(biāo)簽顯示的熱鍵信息準(zhǔn)確,和ccrpHotKey保持同步。

  ④編寫保存熱鍵的代碼:

  Private Sub cmdSetHotKey_Click()
   m_KeyCode = ccrpHotKey1.KeyCode
   m_Shift = ccrpHotKey1.Shift
  End Sub

  將設(shè)置好的熱鍵保存在兩個變量中,以供調(diào)用。

 、菁尤氪绑w的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

  若按下的鍵與設(shè)置的熱鍵一致,則彈出對話框顯示熱鍵相關(guān)信息。

  到這里,這個簡單的演示程序就完成了,按下F5運(yùn)行程序,點(diǎn)擊ccrpHotKey控件,按下任意熱鍵組合,ccrpHotKey控件就會實(shí)時地顯示你當(dāng)前按下的熱鍵,并且右邊的Label會顯示熱鍵信息(如圖4)。


圖4

  選中一個熱鍵后,點(diǎn)擊“保存按鈕”,再按下剛保存的熱鍵,程序就會彈出對話框(如圖5),演示成功!


圖5

  通過這個控件,我們可以實(shí)現(xiàn)讓用戶自己設(shè)定熱鍵,并且實(shí)時顯示熱鍵的功能,使得程序更加人性化。我們還可以通過API函數(shù)將獲得的ccrpHotKey1.KeyCode和ccrpHotKey1.shift值保存為系統(tǒng)熱鍵,這樣即使程序沒有獲得焦點(diǎn),熱鍵仍然可以使用。開動你的腦筋,相信ccrpHotKey控件可以幫你打造出更完美的熱鍵功能!

文章評論

欄目導(dǎo)航

本類推薦文章

關(guān)于本站 | 網(wǎng)站幫助 | 廣告合作 | 下載聲明 | 友情連接 | 網(wǎng)站地圖
Copyright © 20098-2010 uzzf下載站. All Rights Reserved .