



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 前言: 在開發(fā)數(shù)據(jù)庫程序時,常常需要輸入中文和英文,為此,操作員不得不在兩者之間不斷切換,能不能實現(xiàn)中英文輸入法的自動切換呢?即在需要輸入中文的地方系統(tǒng)打開中文輸入法,在需要輸入英文的地方系統(tǒng)自動關(guān)閉中文輸入法,回到英文輸入法。本人在開發(fā)課程輸入模塊時,根據(jù)操作員的實際要求利用C+ Builder5實現(xiàn)了中英文輸入法的自動切換功能,每個操作員可以根據(jù)他的中文輸入法習(xí)慣自己定制他所習(xí)慣的中文輸入法,從而真正實現(xiàn)了多用戶中英文輸入法的自動切換。 程序設(shè)計思路: 每個輸入控件有兩個屬性ImeMode和ImeName,其中ImeMode表明當(dāng)前的輸入法,
2、與中國有關(guān)的幾個值分別為:imDisable, imClose, imOpen, imDontCare , imChinese。若將ImeMode屬性設(shè)置為imChinese表明此控件的輸入法為中文,而ImeName屬性則反映了是何種中文輸入法;將ImeMode設(shè)置為imClose,則可以關(guān)閉已經(jīng)打開的中文輸入法,回到英文輸入法狀態(tài)。由于每個操作員的中文輸入法習(xí)慣不一樣,不能再程序中指定ImeName,所以需要在運行階段動態(tài)指定輸入控件的ImeName屬性值。 程序?qū)崿F(xiàn): C+ Builder有一全局變量Screen,其屬性Ime反映的系統(tǒng)的輸入法。程序中首先獲取系統(tǒng)安裝的輸入法,用戶根據(jù)他的
3、喜好選擇他所喜歡的中文輸入法,將用戶的選擇寫入一INI文件中。在需要切換到中文輸入的地方從此INI文件讀取數(shù)據(jù),瓶將此值賦給輸入控件的ImeName,從而實現(xiàn)了動態(tài)指定ImeName。 n 新建一Form,命名為Form_IME,在Form_IME上放一ComBox控件ComBox1用來獲取系統(tǒng)的輸入法,再拖兩個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文件,若不存在,則自動創(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; /退出時自動釋放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ù)據(jù)模塊DM1中的CHImeName變量 DM1->CHIm
8、eName=ComboBox1->Text; /顯示中文提示框,表明默認中文輸入法修改成功 MessageBoxEx(Handle,"默認中文輸入法修改成功", 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) /- 讀取默認中文輸入法- 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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川省樂山市中考地理真題(原卷版)
- (教研室提供)2025年山東省臨沂市沂水縣中考二模英語試題
- 財務(wù)會計期末復(fù)習(xí)指導(dǎo)
- 部編版四年級下冊第五單元《海上日出》教案
- 建筑施工特種作業(yè)-橋(門)式起重機司機真題庫-10
- 建筑施工特種作業(yè)-建筑架子工(普通腳手架)真題庫-10
- 2023-2024學(xué)年云南省臨滄市云縣高二下學(xué)期期末考試數(shù)學(xué)試卷(解析版)
- 2023-2024學(xué)年江蘇省宿遷市高二下學(xué)期6月期末考試數(shù)學(xué)試題(解析版)
- 2023-2024學(xué)年河北省承德市高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 資助育人-課題
- 主、被動防護網(wǎng)施工方案-圖文
- GB/T 45565-2025鋰離子電池編碼規(guī)則
- 1、人教部編版二年級下冊語文看拼音寫詞語(一類生字和書后詞語)
- 2025年濟南高新區(qū)九年級中考數(shù)學(xué)二??荚囋囶}(含答案)
- 花椒庫存收購協(xié)議書
- DB22-T2979-2019-基質(zhì)瀝青相似度檢測紅外光譜法-吉林省
- 《小王子繪本教學(xué)課件》
- 金華市皓升再生資源有限公司年回收拆解20萬輛電動自行車生產(chǎn)線技改項目
- 2025年金融衍生工具試題
- 2025-2030中國陶瓷瓦行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 電池管理系統(tǒng)(BMS)的智能化升級-全面剖析
評論
0/150
提交評論