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

為什麼無法抓到 KEYPRESS 中的 ALT 之 nShiftaltctrl

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



註冊時間: 2003-05-26
文章: 54
來自: TAIPEI

第 1 樓

發表發表於: 星期一 十一月 28, 2005 9:49 am    文章主題: 為什麼無法抓到 KEYPRESS 中的 ALT 之 nShiftaltctrl 引言回覆

不知道為什麼在 FORM 內之 Keypress events 中 我想知道當user 按下 alt+f5 按鍵的 key 質
foxpro 卻只能抓到 nKeyCode 質 但卻抓不到 alt 之 nShiftAltCtrll 質
但若是 shift+f5 或 ctrl+f5 之nShiftAltCtrll 質 確都可以抓到 nShiftAltCtrll的 質\
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 2 樓

發表發表於: 星期一 十一月 28, 2005 4:35 pm    文章主題: 引言回覆

vfp 5.0
可以呢
code 1 = shift + f5
cdoe 4 = alt + f5(ally chat玩遊戲用的)
沒道理說知道nKeyCode 怎麼用
卻不知道 nShiftAltCtrll 怎麼用吧
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
tccvincent



註冊時間: 2003-05-26
文章: 54
來自: TAIPEI

第 3 樓

發表發表於: 星期一 十一月 28, 2005 7:24 pm    文章主題: 引言回覆

我用的是 vfp6 vfp9 都不行
回頂端
檢視會員個人資料 發送私人訊息
tccvincent



註冊時間: 2003-05-26
文章: 54
來自: TAIPEI

第 4 樓

發表發表於: 星期一 十一月 28, 2005 7:28 pm    文章主題: 引言回覆

且 vfp9 help 的 keypress 中也寫著
The KeyPress event does not occur for any combination of keys with the ALT key
那要怎麼辦煩請指教
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 5 樓

發表發表於: 星期一 十一月 28, 2005 8:37 pm    文章主題: 引言回覆

bin1x 寫到:
vfp 5.0
可以呢
code 1 = shift + f5
cdoe 4 = alt + f5(ally chat玩遊戲用的)
沒道理說知道nKeyCode 怎麼用
卻不知道 nShiftAltCtrll 怎麼用吧


大概要自己去查表吧,不知那本書有表列出就不知道了
反正
shift + f5 = nKeyCode + nShiftAltCtrl = 89

ctrl + f5 = 112

值很穩定,沒有變,那就是說 112 一定是ctrl + f5
把它的return 當 messagebox 那種方式來加
不就得了
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
jeff25



註冊時間: 2004-10-22
文章: 76
來自: taiwan

第 6 樓

發表發表於: 星期一 十一月 28, 2005 8:58 pm    文章主題: 引言回覆

當按下 ALT+ F1 or F2..... 等, KEYPRESS event 是不會執行的
可以改用 ON KEY LABEL ALT+F5 看看

_________________
jeff
回頂端
檢視會員個人資料 發送私人訊息
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 7 樓

發表發表於: 星期一 十一月 28, 2005 11:19 pm    文章主題: Re: 為什麼無法抓到 KEYPRESS 中的 ALT 之 nShiftaltctrl 引言回覆

tccvincent 寫到:
不知道為什麼在 FORM 內之 Keypress events 中 我想知道當user 按下 alt+f5 按鍵的 key 質
foxpro 卻只能抓到 nKeyCode 質 但卻抓不到 alt 之 nShiftAltCtrll 質
但若是 shift+f5 或 ctrl+f5 之nShiftAltCtrll 質 確都可以抓到 nShiftAltCtrll的 質\


FORM 內之 Keypress events 中

DO CASE
CASE nShiftAltCtrl=1 AND nKeyCode=88
WAIT WINDOW "Shift+F5"
CASE nShiftAltCtrl=2 AND nKeyCode=98
WAIT WINDOW "Ctrl+F5"
CASE nShiftAltCtrl=4 AND nKeyCode=108
WAIT WINDOW "ALT+F5"
CASE nShiftAltCtrl = 0
WAIT WINDOW CHR(LASTKEY())
OTHERWISE
WAIT WINDOW "懶得猜"
ENDCASE

我是在 VFP9 下測的,所以不了解樓主要問的是什麼

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
215001



註冊時間: 2003-06-11
文章: 393


第 8 樓

發表發表於: 星期二 十一月 29, 2005 9:24 am    文章主題: 引言回覆

我想樓主也沒有錯

當表單的KeyPreview=.T.時,的確Alt+F5沒反應

將表單的KeyPreview=.F.時,Alt+F5才有反應

環境: VFP8
回頂端
檢視會員個人資料 發送私人訊息
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 9 樓

發表發表於: 星期二 十一月 29, 2005 9:46 am    文章主題: 引言回覆

做一個 測試 form.

並把 textbox.keypress 寫上:

This.value = "CASE nKeyCode=" + ALLTRIM(STR(nKeyCode)) + " AND nShiftAltCtrl=" + ALLTRIM(STR(nShiftAltCtrl))

執行它並打上 你想測試的 KEY, 便可以把 代碼抄來使用!
有些代碼在 develop-time 和 run-time 的值是不一樣的!!

故在 Run-time 時也是測試一次!!

例如: Shift+Tab 往上一個控制, Develop-Time 時是: -400, 1
而 Run-time 時正常是: 15, 1

你不自制一個 form 來測試, 總是不知如何做!!


不過, 如樓主所言, CTRL+F5 正常能抓著, SHIFT+F5 也能, 但 ALT+F5 郤沒有!!

不只 ALT+F5, ALT+F1-F12 也沒有 反應, 當中 ALT+F10 乃系統 hot-key, 更不能使用!!

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
goto-dream



註冊時間: 2004-05-11
文章: 909


第 10 樓

發表發表於: 星期四 一月 28, 2010 10:52 am    文章主題: Re: 為什麼無法抓到 KEYPRESS 中的 ALT 之 nShiftaltctrl 引言回覆

朱育興 寫到:
tccvincent 寫到:
不知道為什麼在 FORM 內之 Keypress events 中 我想知道當user 按下 alt+f5 按鍵的 key 質
foxpro 卻只能抓到 nKeyCode 質 但卻抓不到 alt 之 nShiftAltCtrll 質
但若是 shift+f5 或 ctrl+f5 之nShiftAltCtrll 質 確都可以抓到 nShiftAltCtrll的 質\


FORM 內之 Keypress events 中

DO CASE
CASE nShiftAltCtrl=1 AND nKeyCode=88
WAIT WINDOW "Shift+F5"
CASE nShiftAltCtrl=2 AND nKeyCode=98
WAIT WINDOW "Ctrl+F5"
CASE nShiftAltCtrl=4 AND nKeyCode=108
WAIT WINDOW "ALT+F5"
CASE nShiftAltCtrl = 0
WAIT WINDOW CHR(LASTKEY())
OTHERWISE
WAIT WINDOW "懶得猜"
ENDCASE

我是在 VFP9 下測的,所以不了解樓主要問的是什麼


我照做也是沒辦法跑出來
Ctrl/ALT 都是沒有作用的??VFP9
Shift有作用了∼∼∼


代碼:
Do Case
   Case nShiftAltCtrl=1
      Wait Window "Shift+"+STR(nKeyCode)
   Case nShiftAltCtrl=2
      Wait Window "Ctrl+"+STR(nKeyCode)
   Case nShiftAltCtrl=4
      Wait Window "ALT+"+STR(nKeyCode)
   Case nShiftAltCtrl = 0
      Wait Window STR(nKeyCode)
   Otherwise
      Wait Window "懶得猜"
Endcase

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
goto-dream



註冊時間: 2004-05-11
文章: 909


第 11 樓

發表發表於: 星期五 一月 29, 2010 2:42 am    文章主題: 引言回覆

HELP說過了
只能用底下的方法

PUBLIC oo

oo=thisform
ON KEY LABEL ALT+1 KeyPress_ALT(oo)


lastkey() 不管用.不知道為什麼??但有網友說可以

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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