[ 来源: | 作者: | 时间:2007-06-26 | 收藏 | 推荐 ] 【大 中 小】
如果使用的VB5.0,则查看有没有一个属性是IMEMode,如果有就设定为1 代表开启,那
便可以每次进入这个Control项时就切换成中文输入。如果没有,那只好自己做。
'以下在.Bas
Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Public Declare Function ImmIsIME Lib "imm32.dll" (ByVal hkl As Long) As Long
Public Declare Function ImmSimulateHotKey Lib "imm32.dll" (ByVal hwnd As Long, ByVal dw As Long) As Long
Const IME_THOTKEY_IME_NONIME_TOGGLE = &H70
PuBlic Sub Chg2Chinese(ByVal hwnd As Long) '传入Control项或Form 的hwnd
Dim hkb As Long
hkb = GetKeyboardLayout(0) '取得目前Thread的Keyboard Layout
If ImmIsIME(hkb) = 0 Then '代表不是中文输入
ImmSimulateHotKey hwnd, IME_THOTKEY_IME_NONIME_TOGGLE '模拟按Strl-Space
End If
End Sub
PuBlic Sub Chg2English(ByVal hwnd As Long) '传入Control项或Form 的hwnd
Dim hkb As Long
hkb = GetKeyboardLayout(0) '取得目前Thread的Keyboard Layout
If ImmIsIME(hkb) = 1 Then '代表是中文输入
ImmSimulateHotKey hwnd, IME_THOTKEY_IME_NONIME_TOGGLE '模拟按Strl-Space
End If
End Sub
'以下在Form
Private Sub Form_Load()
Call Chg2Chinese(Me.hwnd)
End Sub
(阅读次数:)