这样的,我是一位出学者,在我设计的系统中,需要加载输入法,问如何设计?
在线等待!!

解决方案 »

  1.   

    text1.IMEMode = 0  表示无
    txt1.IMEMode = 1 打开中文输入法
    txt1.IMEMode = 2   打开英文输入法
      

  2.   


    在程序中添加输入法和输入法选择.'在FORM中加一个LIST1控件.
    '在FORM_LOAD 中调用 AddInputKey函数.
    '在LIST1_CLICK中调用 SelectClick 函数.'=================================================
    Public Declare Function ImmGetDescription Lib "imm32.dll" Alias "ImmGetDescriptionA" (ByVal HKL As Long, ByVal lpsz As String, ByVal uBufLen As Long) As Long
    Public Declare Function ImmIsIME Lib "imm32.dll" (ByVal HKL As Long) As Long
    Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
    Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
    Public Declare Function GetKeyboardLayoutList Lib "user32" (ByVal nBuff As Long, lpList As Long) As Long
    Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
    Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As LongPublic Const KLF = &H8
    Public Res As Integer
    Public NoOfKBDLayout As Long, i As Long, j As Long
    Public hKB(24) As Long, BuffLen As Long
    Public Buff As String
    Public RetStr As String
    Public RetCount As Long
    Public Kln As String
    Public hcurKBDLayOut As String
    Public Sub SelectClick()
      On Error Resume Next
      If List1.ListIndex = -1 Then Exit Sub
      Kln = String(8, 0)
      ActivateKeyboardLayout hKB(List1.ListIndex), 0
      Res = GetKeyboardLayoutName(Kln)
      Res = LoadKeyboardLayout(KLF, Kln)
    End SubPublic Sub AddInputKey()
      Buff = String(255, 0)
      hcurKBDLayOut = GetKeyboardLayout(0)
      NoOfKBDLayout = GetKeyboardLayoutList(25, hKB(0))
      ReDim layoutlist(NoOfKBDLayout) As String
      For i = 1 To NoOfKBDLayout
          If ImmIsIME(hKB(i - 1)) = 1 Then
             BuffLen = 255
             RetCount = ImmGetDescription(hKB(i - 1), Buff, BuffLen)
             RetStr = Left(Buff, RetCount)
             List1.AddItem RetStr
          Else
             RetStr = "English (American)"
             List1.AddItem RetStr
          End If
      Next
         ActivateKeyboardLayout hcurKBDLayOut, 0
    End Sub
      

  3.   

    呵呵!楼上的大侠!方法太难了吧!
    text1.IMEMode = 0  表示无
    txt1.IMEMode = 1 打开中文输入法
    txt1.IMEMode = 2   打开英文输入法
    就可以了吧!
      

  4.   

    你切换到了中文输入法,可是,中文输入法有五笔,拼音,智能ABC等等啊.你要单选五笔,你的方法可以实现吗?