网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  VB实现对输入法的控制            【字体:
VB实现对输入法的控制
作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-6    

可以调用系统方法

Private Declare Function GetKeyboardLayoutList Lib "user32" (ByVal nBuff As Long, lpList As LongAs Long

Private Declare Function ImmGetDescription Lib "imm32.dll"  Alias "ImmGetDescriptionA" (ByVal HKL As Long,_
 
    
ByVal lpsz As StringByVal uBufLen As LongAs Long

Private Declare Function ImmIsIME Lib "imm32.dll" (ByVal HKL As LongAs Long

Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As LongByVal flags As LongAs Long

Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As LongAs Long



Private Sub Form_Load()

Dim NoOfKBDLayout As Long, i As Long, j As Long

Dim hKB(24As Long, BuffLen As Long

Dim Buff As String

Dim RetStr As String

Dim RetCount As Long


Buff 
= String(2550)

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)。
正在装载数据……
此设置仅对朝鲜语和日语 IME 有效。
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 有效。 

imemode的值实现


本文来源:http://blog.csdn.net/SImonJ07/archive/2007/07/26/1708339.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • Java Swing实现俄罗斯方块

  • 解决JSP数据输入中文乱码问题

  • c++实现系统托盘图标

  • Ajax - javascript之实现…

  • 为有源头活水来——C++输入输…

  • 汇编来实现OOP思想

  • 在C++实现C#中的属性(Proper…

  • 把游戏变成com组件,实现框架…

  • 在C++实现C#中的属性(Proper…

  • 让irrlicht支持中文输入和输…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David