亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

中英文輸入法的自動切換

2019-09-06 23:33:30
字體:
來源:轉載
供稿:網友

                    前言:
  在開發數據庫程序時,常常需要輸入中文和英文,為此,操作員不得不在兩者之間不斷切換,能不能實現中英文輸入法的自動切換呢?即在需要輸入中文的地方系統打開中文輸入法,在需要輸入英文的地方系統自動關閉中文輸入法,回到英文輸入法。本人在開發課程輸入模塊時,根據操作員的實際要求利用c++ builder5實現了中英文輸入法的自動切換功能,每個操作員可以根據他的中文輸入法習慣自己定制他所習慣的中文輸入法,從而真正實現了多用戶中英文輸入法的自動切換。

  程序設計思路:

  每個輸入控件有兩個屬性imemode和imename,其中imemode表明當前的輸入法,與中國有關的幾個值分別為:imdisable, imclose, imopen, imdontcare , imchinese。若將imemode屬性設置為imchinese表明此控件的輸入法為中文,而imename屬性則反映了是何種中文輸入法;將imemode設置為imclose,則可以關閉已經打開的中文輸入法,回到英文輸入法狀態。由于每個操作員的中文輸入法習慣不一樣,不能再程序中指定imename,所以需要在運行階段動態指定輸入控件的imename屬性值。

  程序實現:

  c++ builder有一全局變量screen,其屬性ime反映的系統的輸入法。程序中首先獲取系統安裝的輸入法,用戶根據他的喜好選擇他所喜歡的中文輸入法,將用戶的選擇寫入一ini文件中。在需要切換到中文輸入的地方從此ini文件讀取數據,瓶將此值賦給輸入控件的imename,從而實現了動態指定imename。

  n 新建一form,命名為form_ime,在form_ime上放一combox控件combox1用來獲取系統的輸入法,再拖兩個button控件button1和button2,設置其caption屬性分別為"修改"和"關閉"。

  程序源代碼如下:

  //---------------------------------------------------------------------------

  #include

  #pragma hdrstop

  #include "ime.h"

  #include

  #include "dm.h"

  //---------------------------------------------------------------------------

  #pragma package(smart_init)

  #pragma link "statusbarex"

  #pragma resource "*.dfm"

  tform_ime *form_ime;

  //---------------------------------------------------------------------------

  __fastcall tform_ime::tform_ime(tcomponent* owner)

  : tform(owner)

  {

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::formshow(tobject *sender)

  {

  //獲取系統的輸入法,并賦給combox1->items

  combobox1->items->assign(screen->imes);

  //打開imesetup.ini文件,若不存在,則自動創建此文件----

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  //讀取以前保存的輸入法名稱,將顯示在combox1框中

  combobox1->text=pinifile->readstring("ime", "chinese", "");

  delete pinifile;

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::formclose(tobject *sender, tcloseaction &action)

  {

  action=cafree; //退出時自動釋放form所占的內存空間

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::button2click(tobject *sender)

  {

  close();

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::button1click(tobject *sender)

  {

  //若用戶重新指定輸入法,將選擇的輸入法重新寫回到imesetup.ini文件

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  pinifile->writestring("ime", "chinese", combobox1->text);

  delete pinifile;

  //同時將所選擇的輸入法賦給數據模塊dm1中的chimename變量

  dm1->chimename=combobox1->text;

  //顯示中文提示框,表明默認中文輸入法修改成功

  messageboxex(handle,"默認中文輸入法修改成功",

  this->caption.c_str(),mb_iconinformation+mb_ok,0x0404);

  }

  //---------------------------------------------------------------------------

  n 在數據模塊的構造函數中讀取imesetup.ini文件,將用戶選擇的輸入法賦給chimename變量

  __fastcall tdm1::tdm1(tcomponent* owner)

  : tdatamodule(owner)

  {

  //---- 讀取默認中文輸入法-----

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  chimename=pinifile->readstring("ime", "chinese", "");

  delete pinifile;

  }

  //-----------------------------------------

  n 在課程輸入模塊中,在formshow()事件中指定輸入控件的中文輸入法,其它需要輸入英文的控件在設計階段可指定其imemode=imclose;

  //---指定課程名稱默認中文輸入法-----

  void __fastcall tcourseform::formshow(tobject *sender)

  {

  dbedit2->imename=dm1->chimename;

  dbgrid1->columns->items[1]->imename=dm1->chimename;

  }

  //-----------------------------------------------------

  其它的輸入模塊中需要用到中文輸入的地方都可使用此種方法,簡單實用

  編譯運行程序,感受一下中英文輸入法的自動切換感覺吧!

中英文輸入法的自動切換

--------------------------------------------------------------------------------
http://tech.sina.com.cn 2000/11/15  軟件世界 駱名群
  前言:

  在開發數據庫程序時,常常需要輸入中文和英文,為此,操作員不得不在兩者之間不斷切換,能不能實現中英文輸入法的自動切換呢?即在需要輸入中文的地方系統打開中文輸入法,在需要輸入英文的地方系統自動關閉中文輸入法,回到英文輸入法。本人在開發課程輸入模塊時,根據操作員的實際要求利用c++ builder5實現了中英文輸入法的自動切換功能,每個操作員可以根據他的中文輸入法習慣自己定制他所習慣的中文輸入法,從而真正實現了多用戶中英文輸入法的自動切換。

  程序設計思路:

  每個輸入控件有兩個屬性imemode和imename,其中imemode表明當前的輸入法,與中國有關的幾個值分別為:imdisable, imclose, imopen, imdontcare , imchinese。若將imemode屬性設置為imchinese表明此控件的輸入法為中文,而imename屬性則反映了是何種中文輸入法;將imemode設置為imclose,則可以關閉已經打開的中文輸入法,回到英文輸入法狀態。由于每個操作員的中文輸入法習慣不一樣,不能再程序中指定imename,所以需要在運行階段動態指定輸入控件的imename屬性值。

  程序實現:

  c++ builder有一全局變量screen,其屬性ime反映的系統的輸入法。程序中首先獲取系統安裝的輸入法,用戶根據他的喜好選擇他所喜歡的中文輸入法,將用戶的選擇寫入一ini文件中。在需要切換到中文輸入的地方從此ini文件讀取數據,瓶將此值賦給輸入控件的imename,從而實現了動態指定imename。

  n 新建一form,命名為form_ime,在form_ime上放一combox控件combox1用來獲取系統的輸入法,再拖兩個button控件button1和button2,設置其caption屬性分別為"修改"和"關閉"。

  程序源代碼如下:

  //---------------------------------------------------------------------------

  #include

  #pragma hdrstop

  #include "ime.h"

  #include

  #include "dm.h"

  //---------------------------------------------------------------------------

  #pragma package(smart_init)

  #pragma link "statusbarex"

  #pragma resource "*.dfm"

  tform_ime *form_ime;

  //---------------------------------------------------------------------------

  __fastcall tform_ime::tform_ime(tcomponent* owner)

  : tform(owner)

  {

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::formshow(tobject *sender)

  {

  //獲取系統的輸入法,并賦給combox1->items

  combobox1->items->assign(screen->imes);

  //打開imesetup.ini文件,若不存在,則自動創建此文件----

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  //讀取以前保存的輸入法名稱,將顯示在combox1框中

  combobox1->text=pinifile->readstring("ime", "chinese", "");

  delete pinifile;

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::formclose(tobject *sender, tcloseaction &action)

  {

  action=cafree; //退出時自動釋放form所占的內存空間

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::button2click(tobject *sender)

  {

  close();

  }

  //---------------------------------------------------------------------------

  void __fastcall tform_ime::button1click(tobject *sender)

  {

  //若用戶重新指定輸入法,將選擇的輸入法重新寫回到imesetup.ini文件

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  pinifile->writestring("ime", "chinese", combobox1->text);

  delete pinifile;

  //同時將所選擇的輸入法賦給數據模塊dm1中的chimename變量

  dm1->chimename=combobox1->text;

  //顯示中文提示框,表明默認中文輸入法修改成功

  messageboxex(handle,"默認中文輸入法修改成功",

  this->caption.c_str(),mb_iconinformation+mb_ok,0x0404);

  }

  //---------------------------------------------------------------------------

  n 在數據模塊的構造函數中讀取imesetup.ini文件,將用戶選擇的輸入法賦給chimename變量

  __fastcall tdm1::tdm1(tcomponent* owner)

  : tdatamodule(owner)

  {

  //---- 讀取默認中文輸入法-----

  tinifile *pinifile = new

  tinifile(extractfilepath(application->exename)+"imesetup.ini");

  chimename=pinifile->readstring("ime", "chinese", "");

  delete pinifile;

  }

  //-----------------------------------------

  n 在課程輸入模塊中,在formshow()事件中指定輸入控件的中文輸入法,其它需要輸入英文的控件在設計階段可指定其imemode=imclose;

  //---指定課程名稱默認中文輸入法-----

  void __fastcall tcourseform::formshow(tobject *sender)

  {

  dbedit2->imename=dm1->chimename;

  dbgrid1->columns->items[1]->imename=dm1->chimename;

  }

  //-----------------------------------------------------

  其它的輸入模塊中需要用到中文輸入的地方都可使用此種方法,簡單實用

  編譯運行程序,感受一下中英文輸入法的自動切換感覺吧!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美激情四射在线日| 成人精品一区二区三区电影黑人| 另类专区欧美制服同性| 欧美日韩国产一区中文午夜| 亚洲理论在线a中文字幕| 97国产一区二区精品久久呦| 欧美一区二区.| 国产欧亚日韩视频| 国产精品jvid在线观看蜜臀| 国内精品免费午夜毛片| 8x海外华人永久免费日韩内陆视频| 欧美大片第1页| 国产一区二区成人| 久久久久久久久爱| 欧美成人免费在线视频| 九九精品在线视频| 亚洲精品电影在线| 国产精品美女午夜av| 国产精品爱啪在线线免费观看| 亚洲高清av在线| 精品日韩视频在线观看| 国产欧美日韩中文字幕| 久久久久久久久中文字幕| 亚洲精品短视频| 亚洲久久久久久久久久| 久久久久久国产精品久久| 亚洲性生活视频在线观看| 久久久久久久国产精品| 欧美丰满老妇厨房牲生活| 国产精品一区二区三区免费视频| 国产精品视频yy9099| 国产亚洲精品久久久久久| 91极品视频在线| 视频一区视频二区国产精品| 日韩午夜在线视频| 欧美日韩国产中文精品字幕自在自线| 欧美老少做受xxxx高潮| 亚洲伦理中文字幕| 亚洲伊人一本大道中文字幕| 精品国产91久久久久久| 亚洲国产精品字幕| 久久精品电影网站| 日韩国产高清视频在线| 欧美中文字幕第一页| 97精品国产97久久久久久| 97激碰免费视频| 国产精品电影网| 91免费看国产| 国产精品欧美一区二区三区奶水| 亚洲国产精品悠悠久久琪琪| 日韩福利视频在线观看| 日韩小视频在线观看| 久久天堂av综合合色| 欧美精品在线免费| 亚洲男女自偷自拍图片另类| 亚洲欧美一区二区三区情侣bbw| 国产成人精品久久亚洲高清不卡| 亚洲第一男人天堂| 欧美乱人伦中文字幕在线| 精品福利樱桃av导航| 欧美极品美女电影一区| 日本精品va在线观看| 国产精品一区久久久| www.亚洲男人天堂| 中文字幕亚洲欧美日韩2019| 国产xxx69麻豆国语对白| 精品国产欧美成人夜夜嗨| 91成人在线观看国产| 高清在线视频日韩欧美| 91久久国产婷婷一区二区| 狠狠躁18三区二区一区| 成人国产精品久久久| 中文字幕在线视频日韩| 成人免费在线视频网址| 亚洲综合中文字幕在线观看| 成人写真福利网| 欧美精品videossex88| 成人午夜激情免费视频| 欧美二区乱c黑人| 久久97久久97精品免视看| 国色天香2019中文字幕在线观看| 一区二区三区四区精品| 日韩视频在线免费| 最近2019中文字幕第三页视频| 欧美成人性生活| 日韩激情av在线免费观看| 日韩午夜在线视频| 欧美性生交xxxxx久久久| 欧美中文在线免费| 国产精品久久久久久久久男| 欧美成人午夜视频| 国产精品久久久久久久天堂| 日韩欧美在线播放| 精品日本高清在线播放| 亚洲精品之草原avav久久| 亚洲欧美日韩高清| 免费99精品国产自在在线| 中文字幕在线精品| 欧美日韩aaaa| 亚洲美女视频网站| 欧美激情在线播放| 欧美成人精品在线视频| 高清欧美性猛交| 国产精品黄页免费高清在线观看| 亚洲人成欧美中文字幕| 欧美激情一二三| 91久久精品日日躁夜夜躁国产| 国产日本欧美在线观看| 日韩精品免费在线播放| 欧美激情精品久久久久久黑人| 亚洲乱码一区二区| 精品久久久精品| 亚洲福利小视频| 欧美高清视频在线| 国产精品一区二区三区在线播放| 日韩在线视频播放| 欧美另类老肥妇| 红桃视频成人在线观看| 国产精品午夜一区二区欲梦| 欧美国产日韩中文字幕在线| 亚洲欧美国产一本综合首页| 久久久最新网址| 欧美另类69精品久久久久9999| 成人国产精品av| 在线免费观看羞羞视频一区二区| 欧美亚洲国产精品| 久久久亚洲精品视频| 国产成人精品最新| 最好看的2019的中文字幕视频| 日本国产欧美一区二区三区| xxxx欧美18另类的高清| 97精品伊人久久久大香线蕉| 欧美日韩中文在线观看| 国产精品亚洲第一区| 久久亚洲精品国产亚洲老地址| 亚洲国产精品国自产拍av秋霞| 亚洲激情久久久| 亚洲黄色有码视频| 91a在线视频| 亚洲欧美国产精品va在线观看| 欧美黑人xxxx| 成人免费视频网| 色偷偷88888欧美精品久久久| 日韩高清欧美高清| 欧美日韩福利视频| 亚洲精品自拍视频| 久久久精品一区二区| 亚洲一区二区中文字幕| 一区二区成人精品| 亚洲欧美另类国产| 亚洲欧美日韩一区二区三区在线| 欧美成人免费大片| 久久五月天综合| 欧美高清视频在线| 日韩视频免费中文字幕| 日韩欧美国产视频| 日本成人免费在线| 自拍偷拍亚洲区| 欧美性xxxx| 欧美一区二区三区免费视| 欧美电影在线观看高清| 精品少妇一区二区30p| 午夜剧场成人观在线视频免费观看| 国产欧美久久一区二区|