zlg258369 发表于 2010-12-20 14:01:00

输入法切换

传一个我做好的,我只用“搜狗”,所以只能切换“搜狗”,需要别的自己写吧。命令”QH“,可以把它加在启动自动运行。
输入法切换的简单方法!!编辑文字时切换中文输入法,编辑文字结束时切换英文输入法If CodName = "TEXT" Or CodName = "DDEDIT" Or CodName = "MTEXT" Or CodName = "MTEDIT" Then
    If InputLanguage.CurrentInputLanguage.LayoutName"中文 (简体) - 搜狗拼音输入法" Then
      SetIme("中文 (简体) - 搜狗拼音输入法")
    End If
Else
    If InputLanguage.CurrentInputLanguage.LayoutName"简体中文 - 美式键盘" Then
      SetIme("简体中文 - 美式键盘")
    End If
End If
Private Function SetIme(ByVal languageName As String) As Boolean
    Try
      '循环所有输入法
      For Each l As InputLanguage In InputLanguage.InstalledInputLanguages
            If (l.LayoutName.IndexOf(languageName) >= 0) Then
                '设置输入法
                InputLanguage.CurrentInputLanguage = l
                Return True
            End If
      Next
      Return False
    Catch ex As Exception
      Return False
    End Try
End Function**** Hidden Message *****

zlg258369 发表于 2010-12-28 10:49:00

加个窗体,弄个Timer控件,combobox控件,几个checkbox控件,再写个ini文件,这就是个完整的切换设置程序了

雪山飞狐_lzh 发表于 2010-12-20 19:58:00

可以详细的说明下使用环境?
还有感觉把If语句放到函数里更好?

zlg258369 发表于 2010-12-28 10:41:00

在cad使用文字编辑时,需要经常切换输入法,用它就可以自动切换了。
放到Timer控件里面。
private Sub Timer1_Tick(BuVal sender As System.Object,ByVal e As System.eventArgs) Handles Timer1.Tick
If CodName = "TEXT" Or CodName = "DDEDIT" Or CodName = "MTEXT" Or CodName = "MTEDIT" Then
If InputLanguage.CurrentInputLanguage.LayoutName"中文 (简体) - 搜狗拼音输入法" Then
SetIme("中文 (简体) - 搜狗拼音输入法")
End If
Else
If InputLanguage.CurrentInputLanguage.LayoutName"简体中文 - 美式键盘" Then
SetIme("简体中文 - 美式键盘")
End If
End If
End Sub

glowz 发表于 2010-12-28 10:45:00

很有用的东东
能给出完整的程序码 和详细使用方法吗?
谢谢

zlg258369 发表于 2010-12-28 11:08:00


窗体部分:
private Sub Timer1_Tick(BuVal sender As System.Object,ByVal e As System.eventArgs) Handles Timer1.Tick
on error resume next
if autodesk.autocad.applicationservices.application.documentmanager.count=0 then
    timer1.stop()
end if

‘漏了一句
dim codname as string = autodesk.autocad.applicationservices.application.acadapplication.activedocument.getvariable("cmdnames")
If CodName = "TEXT" Or CodName = "DDEDIT" Or CodName = "MTEXT" Or CodName = "MTEDIT" ThenIf InputLanguage.CurrentInputLanguage.LayoutName"中文 (简体) - 搜狗拼音输入法" ThenSetIme("中文 (简体) - 搜狗拼音输入法")End IfElseIf InputLanguage.CurrentInputLanguage.LayoutName"简体中文 - 美式键盘" ThenSetIme("简体中文 - 美式键盘")End IfEnd If
endSub类部分:复制代码cad命令判断时改为变量,输入法中文改为变量,就能进行设置了。
再加上获取输入法的:(放到button里)复制代码

zlg258369 发表于 2010-12-28 11:13:00

还不太熟,重复了

azbd 发表于 2011-1-3 11:11:00

加载使用,出现异常

zlg258369 发表于 2011-1-4 15:18:00

回复
cad2007的--------

xiaxiang 发表于 2011-1-6 17:49:00

感谢发布源码
页: [1]
查看完整版本: 输入法切换