国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

DELPHI下漢字輸入法的編程及使用

2019-11-18 18:48:28
字體:
來源:轉載
供稿:網友

許多WINDOWS應用程序的中西文錄入界面中,中西文的錄入需要反復切換漢字輸入法,使用起來非常繁瑣。筆者在利用DELPHI開發某MIS的過程中,找到了一種比較簡捷的解決辦法。

  本文設計環境為DELPHI CLIENT/SERVER SUIT VER3.0(以下簡稱DELPHI3.0),中文WINDOWS’95。

  一、DELPHI3.0下Imename 、Imemode屬性

  在DELPHI3.0中Tedit、Tmemo、TmaskEdit等編輯元件在應用程序中經常使用,這三種元件都具有Imename、Imemode屬性,Imename屬性是輸入法名稱,在對象觀察器中對應一包括當前系統中所有漢字輸入法的下拉組合框,Imemode屬性是輸入法模式,在對象觀察器中也對應一下拉組合框,組合框中包含imClose、imOpen、imChinese、imDontCare、imSAlpha、imAlpha六項內容:

   imClose 表示輸入法處于關閉狀態。

   ImOpen 表示輸入法處于打開狀態。

   ImChinese 表示處于中文輸入法狀態。

   ImDontCare 表示若輸入法處于關閉狀態,則打開最近一次

   使用過的輸入法。

   ImSAlpha 表示輸入處于半角狀態。

   ImAlpha 表示輸入處于全角狀態。

  二、DELPHI下漢字輸入法的編程

  在DELPHI3.0中,中西文錄入界面中牽涉輸入的元件都具有Imename、Imemode屬性。在設計錄入界面表單時,對其中每一元件這二種屬性賦值,就可以在元件獲得焦點時,系統自動打開或關閉你所設定的漢字輸入法。但這種編程方法,對用戶來說一點靈活性也沒有,若系統所設定的輸入法不是其所擅長的,他們只好再通過WINDOWS’95的輸入法選擇器重新進行選擇。

  筆者通過在Form下放置一標簽及下拉組合框,比較靈活的解決了這個問題,示例中的Forma共放置了四個Label、二個Edit 、一個ComboBox、Memo及Button。以下為示例說明:

  1、在DELPHI中選擇File菜單下的New application生成一新的應用程序。設定新窗體Form1的屬性

   Caption=輸入法編程示例

  2、在Form1中添加一兩個標簽Label1、Label2、Label3及編輯框Edit1、Edit2、Memo1,設定其屬性

   Label1.Caption=中文輸入編輯框

   Label1.Font.Size=12

   Label2.Caption= 西文輸入編輯框

   Label2.Font.Size=12

   Label3.Caption= 中文多行文本編輯器

Label3.Font.Size=12

   Edit1.ImeMode=ImOpen

   Edit2.ImeMode=ImDontCare(缺省值)

   Memo1.ImeMode=ImOpen

  在編程時,對輸入西文或西文為主的元件ImeMode屬性一般設為缺省值即可;對輸入中文或中文為主的元件,ImeMode屬性一般設為Imopen,而ImeName屬性值在程序運行時由用戶設定 ,而此方法的靈活性正在于此。另外,將Edit1.Text、Edit2.Text、Memo1.Lines的值設為空。

  3、在Form1中添加一標簽Label4,設定其屬性:

   Caption = 選擇最喜歡的輸入法

   Font.Size=12

   Font.Color=紅色

  4、在Form1中添加一下拉組合框Combobox1,在對象觀察器OBJECT INPECTOR中選擇事件列EVENT,雙擊OnDropDown,對此事件編程,寫入以下代碼:

   ComboBox1.Items.CommaText:=Screen.Imes.CommaText;

  以便將中文 WINDOWS’95中已安裝的漢字輸入法添加到下拉組合框中,此處巧妙地利用了TSCREEN類的IMES特性,而IMES特性本身又是一個TSTRING類,其屬性Commatext 包含了Windows’95已安裝的漢字輸入法,將其直接賦值給ComboBox1的相應屬性。否則,如果直接編輯ComboBox1的屬性Items,添加漢字輸入法名稱,會在應用程序發布時,因用戶機器漢字輸入法的不確定性,造成應用程序的不通用。

  5、再在對象觀察器中雙擊OnExit事件,寫入以下代碼:

   Edit1.Imename:=ComboBox1.Text;

   Memo1.Imename:=ComboBox1.Text;

   6、 在Form1中添加一命令按鈕Button1,設置其屬性:

   Caption=退 出

   Font.Size=12

   雙擊此命令按鈕,對其Click事件編程,寫入以下程序:

   Close;

   7、整個示例程序設計過程完成,保存此應用程序及表單,此時編譯、運行,其界面如下:
  

   首先,利用下拉組合框選擇你所喜歡的漢字輸入法,將光標移到中文輸入編輯框中,會發現你選擇的漢字輸入法自動在屏幕上出現,再將光標移到西文輸入編輯框中,漢字輸入法自動關閉,如果將光標放到中文多行文本編輯器中,已選擇的漢字輸入法又自動出現。


  三、結束語

   從上面的程序代碼可以出,在應用程序的錄入界面中,設置一輸入法選擇下拉組合框,并讓其控制錄入界面中所有可輸入項的Imename屬性,既可以做到在中西文錄入時不用進行錄入法的來回選擇,更可以做到讓用戶選擇其最喜歡的漢字輸入法,錄入界面對用戶來講非常友好、方便、快捷。


上一篇:Delphi編程技巧實例

下一篇:delphi運行錯誤信息

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 奉新县| 印江| 仲巴县| 乌兰县| 邯郸县| 镶黄旗| 万山特区| 九龙县| 沁水县| 东山县| 咸丰县| 嘉义市| 平远县| 电白县| 台安县| 开原市| 什邡市| 淮安市| 石柱| 永平县| 芦山县| 安庆市| 庄浪县| 仁布县| 伊宁县| 左云县| 铜陵市| 宜城市| 涿州市| 遂溪县| 井陉县| 繁昌县| 武功县| 盘山县| 汉源县| 台东县| 阳谷县| 白朗县| 贡嘎县| 岳阳县| 孟津县|