输入法切换
传一个我做好的,我只用“搜狗”,所以只能切换“搜狗”,需要别的自己写吧。命令”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
加个窗体,弄个Timer控件,combobox控件,几个checkbox控件,再写个ini文件,这就是个完整的切换设置程序了 可以详细的说明下使用环境?
还有感觉把If语句放到函数里更好? 在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
很有用的东东
能给出完整的程序码 和详细使用方法吗?
谢谢 本帖最后由 zlg258369 于 2010-12-28 14:41 编辑
glowz 发表于 2010-12-28 10:45 http://bbs.mjtd.com/static/image/common/back.gif
很有用的东东
能给出完整的程序码 和详细使用方法吗?
谢谢
窗体部分:
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" Then
If InputLanguage.CurrentInputLanguage.LayoutName <> "中文 (简体) - 搜狗拼音输入法" Then
SetIme("中文 (简体) - 搜狗拼音输入法")
End If
Else
If InputLanguage.CurrentInputLanguage.LayoutName <> "简体中文 - 美式键盘" Then
SetIme("简体中文 - 美式键盘")
End If
End If
endSub类部分: <commandmethod("QH")> _
public sub srf_qh()
if autodesk.autocad.applicationservices.application.documentmanager.count=1 then
form.timer1.start()
end if
end subcad命令判断时改为变量,输入法中文改为变量,就能进行设置了。
再加上获取输入法的:(放到button里) for each l as inputlanguage in inputlanguage.installedinputlanguages
combobox1.items.add(l.layoutname.tostring)
next
还不太熟,重复了 加载使用,出现异常 回复 azbd 的帖子
cad2007的-------- 感谢发布源码
页:
[1]
2