📄 imme01.pas
字号:
unit imme01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Imm;
type
TImmForm = class(TForm)
ComboBox1: TComboBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
procedure OpenIme(Imename: string);
procedure CloseIme;
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var ImmForm: TImmForm;
implementation
{$R *.DFM}
procedure TImmForm.OpenIme(Imename: string);
var
K: HKL;
begin
if (ImeName = '') or (Screen.Imes.Count = 0) then Exit;
with Screen.Imes do
K := HKL(Objects[Indexof(Imename)]);
ActivateKeyboardlayout(K, KLF_ACTIVATE); //设置相应的输入法
end;
procedure TImmForm.CloseIme;
var K: hkl;
begin
K := GetKeyBoardLayOut(0);
if ImmIsIme(K) then //判断是否在中文状态,若是则关闭它
ImmSimulateHotkey(handle, Ime_CHotKey_Ime_NonIme_Toggle);
end;
procedure TImmForm.ComboBox1Change(Sender: TObject);
begin
OpenIme(ComboBox1.Text);
end;
procedure TImmForm.BitBtn1Click(Sender: TObject);
begin
//切换半角和全角模式
ImmSimulateHotkey(handle, Ime_CHotKey_shape_Toggle);
end;
procedure TImmForm.BitBtn2Click(Sender: TObject);
begin
//切换中文标点模式和英文标点模式
ImmSimulateHotkey(handle, Ime_CHotKey_symbol_Toggle);
{ ImmSimulateHotkey(handle, IME_KHOTKEY_ENGLISH);
ImmSimulateHotkey(handle, iME_CHOTKEY_IME_NONIME_TOGGLE);
}end;
procedure TImmForm.BitBtn3Click(Sender: TObject);
begin
CloseIme;
end;
procedure TImmForm.Button1Click(Sender: TObject);
begin
OpenIme(ComboBox1.Text);
end;
procedure TImmForm.FormCreate(Sender: TObject);
begin
//获取系统中已安装的中文输入法
ComBoBox1.Items.Assign(Screen.Imes);
ComBoBox1.ItemIndex := 0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -