zoukankan      html  css  js  c++  java
  • 单据录入用户输入法个性化(修改)

    如今输入法繁多,用户在使用软件录入单据,每录入一个信息,跳到下一个输入框要不断的切换输入法,很麻烦。

    无聊时在软件系统设置加了一个输入法个性化功能,每个用户只要选择了自己常用的输入法后,录入数据时无需一直切换输入法。

    方法很简单:

    1。读入系统输入法列表,让用户选择输入法,并保存输入法到INI文件

    2。在窗体基类里动态修改Component的ImeName属性

    部分实现代码:

    1 //获取系统输入法列表
    2   edtIME.Items.Clear;
    3   for i := 0 to Screen.Imes.Count - 1 do
    4     edtIME.Items.Add(Screen.Imes.Strings[i]);
    5   IniIME := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'sys.ini');
    6   edtIME.Text := IniIME.ReadString('IME''MYIME''');
     
     1   //统一输入法
     2   for i := 0 to ComponentCount - 1 do
     3   begin
     4     if Components[i] is TdxDBEdit then
     5       TdxDBEdit(Components[i]).ImeName := SYSIME;
     6     if Components[i] is TdxEdit then
     7       TdxEdit(Components[i]).ImeName := SYSIME;
     8     if Components[i] is TdxDBMemo then
     9       TdxDBMemo(Components[i]).ImeName := SYSIME;
    10     if Components[i] is TdxMemo then
    11       TdxMemo(Components[i]).ImeName := SYSIME;  
    12     if Components[i] is TdxDBButtonEdit then
    13       TdxDBButtonEdit(Components[i]).ImeName := SYSIME;
    14     if Components[i] is TdxButtonEdit then
    15       TdxButtonEdit(Components[i]).ImeName := SYSIME;
    16     if Components[i] is TdxDBPickEdit then
    17       TdxDBPickEdit(Components[i]).ImeName := SYSIME;
    18     if Components[i] is TdxPickEdit then
    19       TdxPickEdit(Components[i]).ImeName := SYSIME;
    20     if Components[i] is TdxDBDateEdit then
    21       TdxDBDateEdit(Components[i]).ImeName := SYSIME;
    22     if Components[i] is TdxDateEdit then
    23       TdxDateEdit(Components[i]).ImeName := SYSIME;
    24   end;

     经lotsbug指点,重新写了代码

    1   //统一输入法
    2   if SYSIME <> '' then
    3   for i := 0 to ComponentCount - 1 do
    4   begin
    5     if Components[i] is TWinControl then
    6       if IsPublishedProp(Components[i], 'ImeName'then
    7         if GetPropValue(Components[i], 'ImeMode', True) = 'ImChinese' then
    8           SetPropValue(Components[i], 'ImeName', SYSIME);
    9   end;
  • 相关阅读:
    Jmeter学习笔记-初级
    python selenium利用 126.com id自动生成
    Python代码无法保存
    卸载python2.7出错
    python pip用法
    pycharm 连接数据库
    Python打包PyPI上传实践
    Python实现Api的Mock测试
    抓包工具使用
    Jenkins+Ant可持续集成Jmeter脚本
  • 原文地址:https://www.cnblogs.com/qzfitsoft/p/1823726.html
Copyright © 2011-2022 走看看