编程时老是将imeName写入输入法,编译使用时,程序的输入法就会跳来跳去.
要怎么让它不要自动写入输入法,为空呢?
请教该怎么做。

解决方案 »

  1.   

    我用的是搜狗输入法,一般客户机上都是紫光的,你这个问题我也碰到过.       uses TypInfo;       for i := 0 to ComponentCount-1 do
           if Assigned(GetPropInfo(Components[i],'ImeName')) then
           SetPropValue(Components[i], 'ImeName', '');然后在所有窗口create都调用这个过程吧
      

  2.   

    还有个方法
    在控制面板里,把用户的某个输入法设置成默认项 比如智能ABC
      

  3.   

    在操作系统控制面板的 地区与语言选项->语言->details->设置->default input languages设置为英文为默认语言。
      

  4.   

    如果default input languages设置了其他的输入法,就算delphi的imename清空了,程序启动的时候,也会自动导入default input languages设置的输入法。
      

  5.   


    这个方法不错,但还有个问题是,碰到表格控件(TDBGrid),就得另外再单独对这个个控件进行处理了。
      for j := 0 to DBGridEh1.FieldCount - 1 do
        SetPropValue(DBGridEh1.Columns[j], 'ImeName', '');