|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
sheuok
註冊時間: 2004-11-20 文章: 63 來自: Taiwan
第 1 樓
|
發表於: 星期日 十月 17, 2010 10:14 am 文章主題: WIN7+中英文切換 |
|
|
VFP在XP下可以使用的中英文切換(IMEMode),到WIN7系統就無法使用
為解決客戶習慣中英文自動切換的便利,特別找出WIN7下使用中英文切
換的用法,整理如下:
為達成VFP在WIN7下可以自動切換中英文,步驟如下:
1.將WINAPI切換"語言區"寫成函數(傳入參數 0:忽略 1:中文 2:英數)
uf_中英切換(ulp_模式)
2.在物件的When方法程序中加上一行
uf_中英切換(This.IMEMode)
用到的WINAPI,請先宣告
Declare Long ActivateKeyboardLayout In USER32 Long, Integer
Declare Long LoadKeyboardLayout In WIN32API String, Long
使用前請執行:
LoadKeyboardLayout('00000409',1) &&-載入EN(US)
LoadKeyboardLayout('00000404',1) &&-載入中文語言區(此行可以不執行)
中英文切換函數範例:
Func uf_中英切換(ulp_模式)
If ulp_模式=0
Return
Endif
If ulp_模式=1 &&-IMEMode=1
ActivateKeyboardLayout(0x04040404,0)
Else &&-英
ActivateKeyboardLayout(0x04090409,0)
Endif
EndFunc
說明:
WIN7的輸入法切換已成兩部份.先切換語言區,再切換輸入法,WIN7
下ActivateKeyboardLayout僅能切換語言區,無法切換輸入法(此部份
尚在找資料,希望可以找到相關資訊),因此只要將EN(US)載入,中文
語區中只放您需要的中文輸入法,請將 中文(繁體)-美式鍵盤 移除,改用
EN(US)取代英數輸入,如此便可利用語言區的切換達到中英文切換的目的
如果狐友手上有WIN7輸入法切換的WINAPI用法,特別懇請賜教! |
|
回頂端 |
|
|
superman
註冊時間: 2005-06-07 文章: 8
第 2 樓
|
發表於: 星期一 十一月 01, 2010 2:23 pm 文章主題: |
|
|
我測試您的方法是可行的,
但當有新增輸入法2010 就大亂了(幾乎都會切到中文),
把輸入法2010(新注音2010 新倉頡2010 ...)移除 就正常了 |
|
回頂端 |
|
|
Watermelon
註冊時間: 2005-01-22 文章: 197
第 3 樓
|
發表於: 星期四 八月 16, 2018 9:10 pm 文章主題: |
|
|
請問除了移除新注音2010 新倉頡2010還有其他解決方法嗎? |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|