2021-09-09 22:17:42 索煒達電子 754
項目編號:E971
文件大?。?05K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述:
做界面每次被多語言搞得要死,干脆自己動手做了個小工具。
1、 用我的工具生成語言包。
2、 用GUIBuilder做界面,在要寫中文或其他語言的地方按你的需求寫就行了,位置1顯示不正常沒關(guān)系,位置2顯示正常就行。(此處即保證輸入的內(nèi)容在當前windows系統(tǒng)編碼下是可以正常顯示的)。
3、 設(shè)計好界面后保存為C文件,用notepad++打開,將文件編碼格式轉(zhuǎn)換為UFT-8并保存。
4、 在GUI初始化的時候設(shè)置系統(tǒng)默認字體為語言包中的某個字體,或者在空間回調(diào)函數(shù)的初始化條件中設(shè)置單個控件的字體為語言包中的某個字體。
5、 到此即可在GUI中正確顯示中文。
此處用法的原理在于只需要保證語言包中的編碼和使用的時候的編碼一致,即可正確顯示。當然語言包中需要包含你顯示的內(nèi)容,否則將找不到字體點陣信息。
但個人認為GUIBuilder工具只是方便初學者上手和前期界面效果設(shè)計,其生成的代碼并不適合作為多語言系統(tǒng)使用,所有的顯示內(nèi)容都直接以字符串的形式嵌入在代碼的各個位置,不便于統(tǒng)一管理。
建議在所有使用顯示內(nèi)容字符串的地方都用ID號(或指針)表示,這樣對于不同的語言,ID號是不變的,只需要重新查找到對應(yīng)該語言的顯示字符串即可。