中英文輸入法的自動(dòng)切換_第1頁
中英文輸入法的自動(dòng)切換_第2頁
中英文輸入法的自動(dòng)切換_第3頁
中英文輸入法的自動(dòng)切換_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、    前言: 在開發(fā)數(shù)據(jù)庫程序時(shí),常常需要輸入中文和英文,為此,操作員不得不在兩者之間不斷切換,能不能實(shí)現(xiàn)中英文輸入法的自動(dòng)切換呢?即在需要輸入中文的地方系統(tǒng)打開中文輸入法,在需要輸入英文的地方系統(tǒng)自動(dòng)關(guān)閉中文輸入法,回到英文輸入法。本人在開發(fā)課程輸入模塊時(shí),根據(jù)操作員的實(shí)際要求利用C+ Builder5實(shí)現(xiàn)了中英文輸入法的自動(dòng)切換功能,每個(gè)操作員可以根據(jù)他的中文輸入法習(xí)慣自己定制他所習(xí)慣的中文輸入法,從而真正實(shí)現(xiàn)了多用戶中英文輸入法的自動(dòng)切換。 程序設(shè)計(jì)思路: 每個(gè)輸入控件有兩個(gè)屬性ImeMode和ImeName,其中ImeMode表明當(dāng)前的輸入法,

2、與中國有關(guān)的幾個(gè)值分別為:imDisable, imClose, imOpen, imDontCare , imChinese。若將ImeMode屬性設(shè)置為imChinese表明此控件的輸入法為中文,而ImeName屬性則反映了是何種中文輸入法;將ImeMode設(shè)置為imClose,則可以關(guān)閉已經(jīng)打開的中文輸入法,回到英文輸入法狀態(tài)。由于每個(gè)操作員的中文輸入法習(xí)慣不一樣,不能再程序中指定ImeName,所以需要在運(yùn)行階段動(dòng)態(tài)指定輸入控件的ImeName屬性值。 程序?qū)崿F(xiàn): C+ Builder有一全局變量Screen,其屬性Ime反映的系統(tǒng)的輸入法。程序中首先獲取系統(tǒng)安裝的輸入法,用戶根據(jù)他的

3、喜好選擇他所喜歡的中文輸入法,將用戶的選擇寫入一INI文件中。在需要切換到中文輸入的地方從此INI文件讀取數(shù)據(jù),瓶將此值賦給輸入控件的ImeName,從而實(shí)現(xiàn)了動(dòng)態(tài)指定ImeName。 n 新建一Form,命名為Form_IME,在Form_IME上放一ComBox控件ComBox1用來獲取系統(tǒng)的輸入法,再拖兩個(gè)Button控件Button1和Button2,設(shè)置其Caption屬性分別為"修改"和"關(guān)閉"。 程序源代碼如下: /- #include  #pragma hdrstop #include "Ime.h"

4、; #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) /獲取系統(tǒng)的輸

5、入法,并賦給ComBox1->Items ComboBox1->Items->Assign(Screen->Imes); /打開ImeSetup.ini文件,若不存在,則自動(dòng)創(chuàng)建此文件- TIniFile *pIniFile = new  TIniFile(ExtractFilePath(Application->ExeName)+"ImeSetup.ini"); /讀取以前保存的輸入法名稱,將顯示在ComBox1框中 ComboBox1->Text=pIniFile->ReadString("IME&

6、quot;, "Chinese", ""); delete pIniFile; /- void _fastcall TForm_IME:FormClose(TObject *Sender, TCloseAction &Action) Action=caFree; /退出時(shí)自動(dòng)釋放Form所占的內(nèi)存空間 /- void _fastcall TForm_IME:Button2Click(TObject *Sender) Close(); /- void _fastcall TForm_IME:Button1Click(TObject *Sender)

7、 /若用戶重新指定輸入法,將選擇的輸入法重新寫回到ImeSetup.ini文件 TIniFile *pIniFile = new  TIniFile(ExtractFilePath(Application->ExeName)+"ImeSetup.ini"); pIniFile->WriteString("IME", "Chinese", ComboBox1->Text); delete pIniFile; /同時(shí)將所選擇的輸入法賦給數(shù)據(jù)模塊DM1中的CHImeName變量 DM1->CHIm

8、eName=ComboBox1->Text; /顯示中文提示框,表明默認(rèn)中文輸入法修改成功 MessageBoxEx(Handle,"默認(rèn)中文輸入法修改成功", this->Caption.c_str(),MB_ICONINFORMATION+MB_OK,0x0404); /- n 在數(shù)據(jù)模塊的構(gòu)造函數(shù)中讀取ImeSetup.ini文件,將用戶選擇的輸入法賦給CHImeName變量 _fastcall TDM1:TDM1(TComponent* Owner) : TDataModule(Owner) /- 讀取默認(rèn)中文輸入法- TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName)+"ImeSetup.ini"); CHImeName=pIniFile->ReadString("IME"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論