介面的多語言切換 通過讀取xml檔案實現

2022-03-14 00:07:20 字數 1556 閱讀 1178

利用視窗遍歷函式:

基本資訊  函式功能:列舉乙個父視窗的所有子視窗。

函式原型:

bool enumchildwindows(hwnd hwndparent,wndenumproc lpenumfunc, lparam lparam);

各個引數如下:

hwnd hwndparent 父視窗控制代碼

wndenumproc lpenumfunc **函式的位址

lparam lparam 自定義的引數

注意:**函式的返回值將會影響到這個api函式的行為。如果**函式返回true,則列舉繼續直到列舉完成;如果返回false,則將會中止列舉。bool

其中**函式實現如下:

int g_iengchinese = 1; //為1則切換成中文

cxml pxml; //定義為全域性物件,非指標變數,避免記憶體洩露

bool callback enumchildproc(hwnd hwnd, lparam lparam)

if (lid >= 100000)

else if (lid >= 10000)

else if (lid >= 1000)

else if (lid >= 100)

else if (lid >= 10)

else

char strid[10] = ;

itoa(lid, strid, 10);

for (; icount >= 1; --icount)

strid[0] = 'a';

//讀取xml檔案的公共操作,放在分支之前,**復用

pxml.restpos();

pxml.fineelem("id");

if (1 == g_iengchinese) //兩個分支必走一支

else

{pxml.finechildelem("english");

pxml.intoelem();

pxml.findchildelem(strid);

cwnd::fromhandle(hwnd)->setwindowtext((lpcstr)(pxml.getchilddata().c_str()));

return true;

呼叫視窗遍歷函式形式:

enumchildwindows(hwnd hwndparent,wndenumproc lpenumfunc, lparam lparam);

xml檔案的使用和xml檔案的建立:

//必須有這個節點,

//這個已經id的子節點

//首字母必須為大寫,是chinese的子節點

handebook

HTML介面多語言切換

html 你需要將所有想要翻譯的模組部分的class中加上lang,然後自定義key。還需要有設定語言的按鈕,class中新增translate,id用相應的代號。translate id en english button translate id zh chinese button lang k...

多語言切換

專案中應用到了多語言切換,鞏固一下。貼上 大家一起學習。廢話不多說直接上 1 新增多語言 在res values 下預設有個strings,需要多種語言就來建立幾個strings,values右鍵 new 乙個 values res file file name 就是strings director...

ios多語言切換

軟體需要適配多語言,通常想到的第乙個方法就是切換多語言的時候傳送通知到各個頁面,從而實現多語言的切換,其實這個方法太不好了,通知多,影響大,有的乾脆直接重啟軟體來切換多語言,其實這幾種都是不可取的,現在作者提供乙個簡單的方法僅供參考 1理論準備 現在大部分軟體頁面的控制器都是tabbar和narba...