VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

為VFP應用程式加入功能鍵(轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期三 十二月 03, 2003 5:30 pm    文章主題: 為VFP應用程式加入功能鍵(轉貼) 引言回覆

為VFP應用程式加入功能鍵
王守銀
  用戶在操作應用程式過程中,常常需要在鍵盤及滑鼠之間進行切換,這樣就影響了操作的效率。如在一個應用程式中,當用戶增加資料記錄時,除了可以使用滑鼠點擊一下“新增”按鈕外,也可以直接按下功能鍵F2來增加資料記錄,為了提高工作效率幾乎所有的人都會使用這個功能鍵,而不去使用滑鼠。鑒於這種情況,一個設計良好的應用系統應該同時具有滑鼠操作和鍵盤操作功能。那麼在使用VFP進行應用系統設計時應該如何實現這些功能鍵呢?

  其實要想創建應用系統的功能鍵,關鍵在於表單物件中的KeyPress事件的處理,因為當在表單的介面上按下並放開一個按鍵時,表單的KeyPress事件便被觸發。這樣我們只要在表單物件的KeyPress事件過程中,攔截操作者在表單中按下的每一個鍵,當特定的鍵被按下時,可以執行事先編好的程式來完成這些特定的功能。但除了表單物件中具有KeyPress事件外,系統中大多數控制項也具有這個事件,當焦點在表單中一個編輯框中時,此時按下功能鍵,將觸發這個編輯框的KeyPress事件,而表單的KeyPress事件將不被觸發。要解決這個問題,只需將表單物件的KeyPreview屬性設為邏輯真(.T.)即可,這樣我們只需對表單物件的KeyPress事件進行編程,來實現特殊鍵的功能。

  下面通過一個例子對表單中功能鍵的使用進行說明:

  新建一個表單,使用這個表單來完成一些人員的基本情況的輸入,在表單中增加“上移”、“下移”、“增加”、“刪除”、“退出”五個命令按鈕,程式運行時可以通過滑鼠點擊這些按鈕來完成這些功能,將各個命令按鈕屬性設置如下:

  1. Command1命令按鈕屬性:

  Caption=″上移″

  在命令按鈕的Click事件中寫入如下代碼:

  If !Bof()

   Skip -1

  Endif

  Thisform.refresh

  2. Command2命令按鈕屬性:

  Caption=″下移″

  在命令按鈕的Click事件中寫入如下代碼:

  If !Eof()

   Skip

  Endif

  Thisform.refresh

  3. Command3命令按鈕屬性:

  Caption=″增加″

  在命令按鈕的Click事件中寫入如下代碼:

  Appe blan

  Thisform.refresh

  4. Command4命令按鈕屬性:

  Caption=″刪除″

  在命令按鈕的Click事件中寫入如下代碼:

  Dele

  Pack

  Thisform.refresh

  5. Command5命令按鈕屬性:

  Caption=″退出″

  在命令按鈕的Click事件中寫入如下代碼:

  Thisform.Release

  由於系統已經定義了功能鍵所代表的功能。因此在設定自己的功能鍵之前要清除原有的設置,這樣在表單的Load事件中寫入如下代碼:

  Clear Macros

  將表單物件的Keypreview屬性設為邏輯真(.T.)

  在表單物件的KeyPress事件寫入如下代碼:

  Lparameters nKeyCode,nShiftAltCtrl

  DO CASE

  CASE nKeycode=-1

  &&按下功能鍵F2執行上移功能

  Thisform.Command1.Setfocus

  Thisform.Command1.Click

  CASE nKeycode=-2

  &&按下功能鍵F3執行下移功能

  Thisform.Command2.Setfocus

  Thisform.Command2.Click

  CASE nKeycode=-3

  &&按下功能鍵F4執行增加功能

  Thisform.Command3.Setfocus

  Thisform.Command3.Click

  CASE nKeycode=-4

  &&按下功能鍵F5執行刪除功能

  Thisform.Command4.Setfocus

  Thisform.Command4.Click

  CASE nKeycode=-5

  &&按下功能鍵F6退出系統

  Thisform.Release

  Endcase

  最後在表單物件的Unload事件中寫入如下代碼:

  Restore Macros &&恢復系統功能鍵的定義

  表單物件內容全部設置完畢後,運行這個表單,這時就可以在表單運行過程中,即可以使用滑鼠點擊命令按鈕完成所需的操作也可以使用功能鍵完成所需的操作,提高了工作效率。根據這個原理,在我們編寫應用程式中,加入一些特殊鍵的功能鍵來實現一些常用的功能。 

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作