![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| VB实现对输入法的控制 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-8-6 ![]() |
||||||
|
可以调用系统方法 ![]() Private Declare Function GetKeyboardLayoutList()Function GetKeyboardLayoutList Lib "user32" (ByVal nBuff As Long, lpList As Long) As Long![]() ![]() Private Declare Function ImmGetDescription()Function ImmGetDescription Lib "imm32.dll" Alias "ImmGetDescriptionA" (ByVal HKL As Long,_ ByVal lpsz As String, ByVal uBufLen As Long) As Long![]() ![]() Private Declare Function ImmIsIME()Function ImmIsIME Lib "imm32.dll" (ByVal HKL As Long) As Long![]() ![]() Private Declare Function ActivateKeyboardLayout()Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long![]() ![]() Private Declare Function GetKeyboardLayout()Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long![]() ![]() ![]() ![]() Private Sub Form_Load()Sub Form_Load()![]() Dim NoOfKBDLayout As Long, i As Long, j As Long![]() Dim hKB(24) As Long, BuffLen As Long![]() Dim Buff As String![]() Dim RetStr As String![]() Dim RetCount As Long![]() ![]() Buff = String(255, 0)![]() hCurKBDLayout = GetKeyboardLayout(0) '取得目前keyboard layout![]() NoOfKBDLayout = GetKeyboardLayoutList(25, hKB(0)) '取得所有输入法的hkeys![]() 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)![]() Combo1.AddItem RetStr![]() Else![]() RetStr = "English (American)" '假设我们的win95非Ime 者只有English![]() Combo1.AddItem RetStr '若有其他者,要去取得keyboardLayout![]() End If ' Name再去Registry中找其对应的名称![]() If hKB(i - 1) = hCurKBDLayout Then![]() Combo1.Text = RetStr![]() End If![]() Next![]() ActivateKeyboardLayout hCurKBDLayout, 0 '恢复原来输入法![]() End Sub![]() End Function![]() 可以通过控制textbox等控件 Alpha 字母数字单字节字符 (SBC)。
AlphaFull 字母数字双字节字符。此设置仅对朝鲜语和日语 IME 有效。 Disable IME 被禁用。如果使用此设置,则用户无法从键盘打开 IME,而且 IME 浮动窗口处于隐藏状态。 Hangul 朝鲜文 SBC。此设置仅对朝鲜语 IME 有效。 HangulFull 朝鲜文 DBC。此设置仅对朝鲜语 IME 有效。 Hiragana 平假名 DBC。此设置仅对日语 IME 有效。 Inherit 继承父控件的 IME 模式。 Katakana 片假名 DBC。此设置仅对日语 IME 有效。 KatakanaHalf 片假名 SBC。此设置仅对日语 IME 有效。 NoControl 无(默认)。 Off IME 已关闭。此模式指示 IME 已关闭,这意味着该对象的行为方式与英语输入模式相同。此设置仅对日语、简体中文和繁体中文 IME 有效。 On IME 已打开。此值指示 IME 已打开,可以输入中文或日语特定的字符。此设置仅对日语、简体中文和繁体中文 IME 有效。 本文来源:http://blog.csdn.net/SImonJ07/archive/2007/07/26/1708339.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|