如何将delphi中的控件的输入法去掉,使鼠标控件时输入法不要自动切换。

解决方案 »

  1.   

    imemode := imdontcare;
    imename := '';
      

  2.   

    你可以看一下vcl文件下的Controls.pas记得里面有代码,将delphi的那个属性设置为了当前系统默认的输入法呵呵,有一个办法,可以有将系统的这个功能去掉,如果你不使用文字服务的话
    就是把ctfmon.exe写成一个0字节的EXE,就行了,在打开office时,也不会提示重装文字服务在窗体的ONSHOW事件中重新设置imeName属性,保持为屏幕上选择的输入法,例如:
    procedure TfmBase.FormShow(Sender: TObject);
    var
      i:integer;
    begin
      for i:=0 to self.ComponentCount-1 do
      begin
        If (self.Components[i] is TEdit) tHEN
        Begin
          (self.Components[i] As TEdit).ImeName:=screen.DefaultIme;       //保持默认输入法
        End;
      END;
    end;