如何在程序中打开中文输入法,并使其变为全角输入?(100分)

  • 主题发起人 主题发起人 tianyusharp
  • 开始时间 开始时间
T

tianyusharp

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在程序中打开中文输入法,并使其变为全角输入?
 
打开中文输入法:
设置控件的 ImeName 属性为 “输入法名称”;
切换全角/半角输入:
一般切换的快捷键是 “Ctrl”+“.”,向控件发一个键盘消息即可。
 
for i:=0 to Screen.Imes.Count-1 do//获取系统输入法清单
lsbxImes.Items.Add(Screen.Imes.Strings);

Procedure OpenIme(ImeName:string) ;//打开指定的输入法
var
i:Integer;
myhkl:hkl;
begin
if Trim(ImeName)<>'' then
begin
if Screen.Imes.Count<>0 then
begin
i:=Screen.Imes.IndexOf(ImeName);
if i>=0 then
myhkl:=hkl(Screen.Imes.Objects);
ActivateKeyBoardLayOut(myhkl,KLF_ACTIVATE);
end;
end;
end;

Procedure CloseIme;//关闭输入法
var
myhkl:hkl;
begin
myhkl:=GetKeyBoardLayOut(0);
if ImmIsIME(myhkl) then
ImmsimulateHotKey(Handle,IME_cHotKey_IME_NonIME_Toggle);
end;
 
在程序中设置控件的 ImeName 属性为“输入法名称”;
半角/全角通过ImeMode属性设置,如设置为“imChinese”
 
后退
顶部