在使用delphi開發程式時,經常會不注意的將edit或者memo等一些可以設定輸入法的控制項新增上自己電腦安裝的輸入法資訊,此時如果使用者的機器上沒有此輸入法則會產生意外的問題,所以及時的將輸入法資訊消除才可以。
如何消除輸入法資訊呢?
有兩種方法一種是使用鉤子的方法,一種是將最後的所有檔案中的*.dfm做一下處理。
下面介紹如何使用處理*.dfm檔案的方式來做處理。
開啟*.dfm檔案可以看到包含imemode和imename的兩項,這兩項就是來控制輸入法資訊的,如下所示:
object form1: tform1
left = 0
top = 0
caption = 'form1'
clientheight = 243
clientwidth = 472
color = clbtnface
font.charset = default_charset
font.color = clwindowtext
font.height = -11
font.name = 'tahoma'
font.style =
oldcreateorder = false
pixelsperinch = 96
textheight = 13
object edit1: tedit
left = 104
top = 56
width = 121
height = 21
imename = #20013#25991'('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861
taborder = 0
text = 'edit1'
endobject edit2: tedit
left = 104
top = 104
width = 121
height = 21
imemode = imopen
imename = #24494#36719#25340#38899#36755#20837#27861' 2010'
taborder = 1
text = 'edit1'
endend
使用tstringlist將dfm檔案讀入,將imemode和imename的兩項消除掉即可。
但是有時沒有將dfm檔案儲存為文字格式,此時開啟的檔案就是二進位制檔案,在使用此種方法則不可以了,此時需要將二進位制檔案轉為文字檔案,可以使用delphi自帶的objecttotext也可以使用resourcetotext函式,但是對於dfm檔案來說需要使用resourcetotext來處理,這是很重要的,因為objecttotext函式會檢查是否包含object的頭,此時會發現不匹配的,這是需要注意的。
Delphi 動態選擇控制項的輸入法
delphi 動態選擇控制項的輸入法 delphi的edit memo等可以接受使用者輸入的控制項,都可以通過imename屬性為其選擇乙個輸入法,但是在程式設計的過程中,我們無法知道最終的使用者會使用哪種輸入法,所以對於控制項imename屬性,我們一般不做設定,但在實際應用中,使用者又希望他們在...
如何設定word的預設輸入法 搜狗輸入法
可開word時 預設的是微軟的輸入法 把微軟輸入法刪了 預設的成了英文了 怎麼改成搜狗啊 大家是不是有這個困惑呢 其實這個事情很好解決 只需簡單幾步就可以把word的預設輸入法改成你想要的 我用的是office2010 2007的設定基本一致 我用的輸入法是搜狗拼音 所以這裡就以它為例 首先 要把系...
筆畫輸入法教程 如何學習筆畫輸入法
文 項有建 筆畫輸入法,是以漢字的筆順作為基本編碼元素,根據國家漢字編碼規則之規定,漢字的五個基本筆順為橫 豎 撇 點 折,所有的筆畫輸入法必須以這五個基本筆順加上其他的變形作為輸入法的編碼元素。在實際中,變形主要分為兩種,一種是以加上其他的筆畫規則,以原來的 字能手機輸入法 為代表,將折又細分為若...