如何获得操作系统的输入法? 如题,刚刚碰到这个问题,郁闷 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.2ccc.com/article.asp?articleid=2139这里有代码下载,很简单的。 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls,imm;type TForm1 = class(TForm) ProgressBar1: TProgressBar; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; ComboBox1: TComboBox; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure OpenIme(imename:string);varI:integer;myhkl:hkl;beginif ImeName<>'' thenbeginif Screen.Imes.Count<>0 thenbeginI:=screen.Imes.indexof(imename);if I>=0 then myhkl:=hkl(screen.Imes.objects[i]); activatekeyboardlayout(myhkl, KLF_ACTIVATE);//设置相应的输入法end;end;end;procedure TForm1.Button1Click(Sender: TObject);beginOpenIme(ComboBox1.Text); //打开用户选择的输入法end;procedure TForm1.FormCreate(Sender: TObject);beginComboBox1.Items.CommaText:=Screen.Imes.CommaText; //得到系统的输入法ComboBox1.ItemIndex := 0;end;end. 好象不行啊,在DBGrid里边输入的时候就不灵了哇,要怎么搞啊? 不好意思,还是有点毛病 DBEdit1.Text := Screen.Imes.Text; DBEdit2.Text := Screen.Imes.Text;我改成上面后,DBEdit1.Text就会显示输入法名称,改成下面的,又不起作用了 DBEdit1.imename := Screen.Imes.Text; DBEdit2.imename := Screen.Imes.Text; fastreport 自定义函数问题 关于fastreport求助。 怎样判断数据是否是boolean类型 怎么得到光标在控件上的相对位置? 报错:Not enough timer availible,怎么回事 客户要我做繁体版软件,我需要什么配置?高分相送! delhpi 数据库应用程序开发 关于 三个数据表关联统计的问题 有关在多连接中TServerSocket接收数据后回应客户端的问题 救命啊~~机器面目全非(附图) 急求:interbase的注册key! DBGrid如何控制行高 动态创建Tquery对象问题???
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls,imm;type
TForm1 = class(TForm)
ProgressBar1: TProgressBar;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure OpenIme(imename:string);var
I:integer;
myhkl:hkl;
begin
if ImeName<>'' then
begin
if Screen.Imes.Count<>0 then
begin
I:=screen.Imes.indexof(imename);
if I>=0 then
myhkl:=hkl(screen.Imes.objects[i]);
activatekeyboardlayout(myhkl,
KLF_ACTIVATE);//设置相应的输入法
end;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
OpenIme(ComboBox1.Text); //打开用户选择的输入法
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Items.CommaText:=Screen.Imes.CommaText; //得到系统的输入法
ComboBox1.ItemIndex := 0;
end;end.
DBEdit1.Text := Screen.Imes.Text;
DBEdit2.Text := Screen.Imes.Text;
我改成上面后,DBEdit1.Text就会显示输入法名称,改成下面的,又不起作用了
DBEdit1.imename := Screen.Imes.Text;
DBEdit2.imename := Screen.Imes.Text;