1,183
社区成员
发帖
与我相关
我的任务
分享
unit Unit1;
interface
uses Windows,Messages,SysUtils,Classes,imm, Graphics,Controls,Forms,Dialogs,StdCtrls,Buttons,imm;
typeTForm1=class(TForm)ComboBox1:TComboBox;BitBtn1:TBitBtn;BitBtn2:TBitBtn;
BitBtn3:TBitBtn;procedureFormShow(Sender:TObject);
procedureOpenIme(imename:string);procedurecloseIme;procedureComboBox1Change(Sender:TObject);procedureBitBtn1Click(Sender:TObject);procedureBitBtn2Click(Sender:TObject);procedureBitBtn3Click(Sender:TObject);
private{Privatedeclarations}public{Publicdeclarations}end;
varForm1:TForm1;
implementation
{$R*.DFM}
procedureTForm1.FormShow(Sender:TObject);
varj:integer;beginforj:
=0toscreen.imes.count-
1dobeginComBoBox1.Items.Add(screen.Imes.strings[j]); //
获取系统中已安装的中文输入法end;end;
procedureTform1.OpenIme(imename:string);
varI:integer;myhkl:hkl;beginifImeName<>'
'thenbeginifScr
....
een.Imes.Count<>0thenbeginI:
=screen.Imes.indexof(imename);
ifI>=0thenmyhkl:=hkl(screen.Imes.objects[i]);
activatekeyboardlayout(myhkl, KLF_ACTIVATE);//
设置相应的输入法end;end;end;
procedureTForm1.closeime;varmyhkl:hkl;beginmyhkl:
=GetKeyBoardLayOut(0);ifImmIsIME(myhkl)then //
判断是否在中文状态,若是则关闭它immsimulateHotkey(handle,IME_CHotKey_IME_NonIME_Toggle);end;
procedureTForm1.ComboBox1Change(Sender:TObject);
beginOpenIme(ComboBox1.Text);end;
procedureTForm1.BitBtn1Click(Sender:TObject);
beginimmsimulateHotkey(handle,IME_CHotKey_shape_Toggle);//
切换半角和全角模式end;
procedureTForm1.BitBtn2Click(Sender:TObject);
beginimmsimulateHotkey(handle,IME_CHotKey_symbol_Toggle);
//
切换中文标点模式和英文标点模式end;
procedureTForm1.BitBtn3Click(Sender:TObject);
begincloseime;end;
end.