问题描述:
在我的窗口中,有个edit 控件,我想当他得到焦点是,输入法马上变成汉字输入,不要再人工切换。
请教高手!
解析:
把edit控件的imemode属性设置成imChinese,然后把imename属性设置好就可以了
先定义一个公共变量 var ImeName : String然后在用户登入的时候 选择输入法 procedure TValidateFrm.FormCreate(Sender: TObject)var i: Integerbegin Combobox1.Clearfor i := 0 to Screen.Imes.Count - 1 do//(呵呵,刷出当前计算机的输入法:) begin Combobox1.Items.Add(Screen.Imes[i])endCombobox1.Text := Screen.Imes[0]end当用户选择完输入法后,给ImeName付值. PubUnit.ImeName := Combobox1.Text然后遍滤 控件 for i := 0 to self.ComponentCount - 1 do begin if Self.Components[i] is TEdit then (Components[i] as TEdit).ImeName := PubUnit.ImeNameif Self.Components[i] is TMemo then (Components[i] as TMemo).ImeName := PubUnit.ImeNameif Self.Components[i] is TDBGrid then (Components[i] as TDBGrid).ImeName := PubUnit.ImeNameend居心不良啊,想你的程序的运行之后,别人的默认输入法就改了,还没有发现delphi有这样的类和方法,但是WIN系统的默认输入法是放在注册表里的,你用DELPHI修改它的注册表不就行了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)