乐筑天下

帖子
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 137|回复: 9

输入法切换

[复制链接]

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2010-12-20 14:01:00 | 显示全部楼层 |阅读模式
传一个我做好的,我只用“搜狗”,所以只能切换“搜狗”,需要别的自己写吧。命令”QH“,可以把它加在启动自动运行。
输入法切换的简单方法!!编辑文字时切换中文输入法,编辑文字结束时切换英文输入法
  1. If CodName = "TEXT" Or CodName = "DDEDIT" Or CodName = "MTEXT" Or CodName = "MTEDIT" Then
  2.     If InputLanguage.CurrentInputLanguage.LayoutName  "中文 (简体) - 搜狗拼音输入法" Then
  3.         SetIme("中文 (简体) - 搜狗拼音输入法")
  4.     End If
  5. Else
  6.     If InputLanguage.CurrentInputLanguage.LayoutName  "简体中文 - 美式键盘" Then
  7.         SetIme("简体中文 - 美式键盘")
  8.     End If
  9. End If
  10. Private Function SetIme(ByVal languageName As String) As Boolean
  11.     Try
  12.         '循环所有输入法
  13.         For Each l As InputLanguage In InputLanguage.InstalledInputLanguages
  14.             If (l.LayoutName.IndexOf(languageName) >= 0) Then
  15.                 '设置输入法
  16.                 InputLanguage.CurrentInputLanguage = l
  17.                 Return True
  18.             End If
  19.         Next
  20.         Return False
  21.     Catch ex As Exception
  22.         Return False
  23.     End Try
  24. End Function

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2010-12-28 10:49:00 | 显示全部楼层
加个窗体,弄个Timer控件,combobox控件,几个checkbox控件,再写个ini文件,这就是个完整的切换设置程序了
回复

举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-12-20 19:58:00 | 显示全部楼层
可以详细的说明下使用环境?
还有感觉把If语句放到函数里更好?
回复

举报

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2010-12-28 10:41:00 | 显示全部楼层
在cad使用文字编辑时,需要经常切换输入法,用它就可以自动切换了。
放到Timer控件里面。
  1. private Sub Timer1_Tick(BuVal sender As System.Object,ByVal e As System.eventArgs) Handles Timer1.Tick
  2. If CodName = "TEXT" Or CodName = "DDEDIT" Or CodName = "MTEXT" Or CodName = "MTEDIT" Then
  3. If InputLanguage.CurrentInputLanguage.LayoutName  "中文 (简体) - 搜狗拼音输入法" Then
  4. SetIme("中文 (简体) - 搜狗拼音输入法")
  5. End If
  6. Else
  7. If InputLanguage.CurrentInputLanguage.LayoutName  "简体中文 - 美式键盘" Then
  8. SetIme("简体中文 - 美式键盘")
  9. End If
  10. End If
  11. End Sub

回复

举报

13

主题

51

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
103
发表于 2010-12-28 10:45:00 | 显示全部楼层
很有用的东东
能给出完整的程序码 和详细使用方法吗?
谢谢
回复

举报

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2010-12-28 11:08:00 | 显示全部楼层

窗体部分:
  1. private Sub Timer1_Tick(BuVal sender As System.Object,ByVal e As System.eventArgs) Handles Timer1.Tick
  2. on error resume next
  3. if autodesk.autocad.applicationservices.application.documentmanager.count=0 then
  4.     timer1.stop()
  5. end if
  6. ‘漏了一句
  7. dim codname as string = autodesk.autocad.applicationservices.application.acadapplication.activedocument.getvariable("cmdnames")
  8. 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
  9. endSub
类部分:复制代码cad命令判断时改为变量,输入法中文改为变量,就能进行设置了。
再加上获取输入法的:(放到button里)复制代码
回复

举报

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2010-12-28 11:13:00 | 显示全部楼层
还不太熟,重复了
回复

举报

10

主题

31

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
71
发表于 2011-1-3 11:11:00 | 显示全部楼层
加载使用,出现异常
回复

举报

14

主题

80

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2011-1-4 15:18:00 | 显示全部楼层
回复
cad2007的--------
回复

举报

47

主题

545

帖子

21

银币

中流砥柱

Rank: 25

铜币
736
发表于 2011-1-6 17:49:00 | 显示全部楼层
感谢发布源码
回复

举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁體中文

GMT+8, 2025-3-16 15:11 , Processed in 1.775815 second(s), 78 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表