说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何自动更动成中文输入

HTML文档下载 WORD文档下载 PDF文档下载
VB如何自动更动成中文输入

如果使用的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




备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘