vc中多語選單的實現
---- 隨著internet的發展,軟體的國際化不可避免。一種軟體可能被很多國家的人使
用,如給您的軟體加上多種語言的選單,不但給使用者帶來很多方便,也為您的軟體的
推廣帶來很多便利。比如給您開發的中文軟體,加上乙個英語或日語選單,對母語為英
語和日語的朋友將會帶來很多便利。vc中實現多語選單非常容易,下面以英漢對照選單
為例說明多語選單實現的方法。
---- 一、建立工程專案檔案
---- 二、修改建立選單資源
---- id: id_menu_change caption 英語(&e)
popup "編輯(&e)"
begin
menuitem "撤消(&u)/tctrl+z", id_edit_undo
menuitem separator
menuitem "剪下(&t)/tctrl+x", id_edit_cut
menuitem "複製(&c)/tctrl+c", id_edit_copy
menuitem "貼上(&p)/tctrl+v", id_edit_paste
endpopup "檢視(&v)"
begin
menuitem "工具欄(&t)", id_view_*******
menuitem "狀態列(&s)", id_view_status_bar
menuitem "英語", id_menu_change
end---- 將上述內容複製到剪貼簿中,然後拷貝乙份到上述內容的下面,並作部分修改。
將idr_mainframe改為idr_mainframe_en,其他漢語譯成英語,並按英語選單的習慣修
改。改後的選單資源如下:
popup "(&e)dit"
begin
menuitem "&undo/tctrl+z", id_edit_undo
menuitem separator
menuitem "cu&t/tctrl+x", id_edit_cut
menuitem "©/tctrl+c", id_edit_copy
menuitem "&paste/tctrl+v", id_edit_paste
endpopup "&view"
begin
menuitem "&tool bar", id_view_*******
menuitem "&status bar", id_view_status_bar
menuitem "&chinese", id_menu_change
endpopup "&help"
end---- 儲存修改後的資源檔案。把資源檔案重新調入資源編輯器,可發現已有兩套選單
資源。如有什麼不合適的地方可在資源編輯器中做進一步修改。
---- 三、加入選單變數到程式中
public:
cmenu m_penglish;//用於儲存英語選單資源
cmenu m_pchinese;//用於儲存漢語選單資源
enumm_emenu;//標示現在使用的是英語
選單還是漢語選單,c--漢語,e--英語
---- 四、初始化變數 需要初始化的變數僅有乙個m_emenu。由於開始時選單使用預設
中文選單,所以在cmainframe建構函式中初始化:
cmainframe::cmainframe()
---- 五、調入儲存選單資源
---- 在主視窗的oncreate函式中,初始化並儲存選單資源:
int cmainframe::oncreate(lpcreatestruct lpcreatestruct)
---- 六、響應改變選單命令
---- 利用classwizard為cmainframe類加入id_menu_change選單命令響應函式:
void cmainframe::onmenuchange()
else if(m_menu==c) file://如果現在選單為漢語
}---- 七、銷毀選單
---- 在cmainframe的析夠函式中銷毀選單:
cmainframe::~cmainframe()
---- 編譯執行程式您就可以獲得乙個具有英漢對照選單的應用程式。
---- 八、結束語
---- 上述例子雖然只給除了兩種語言的選單,但很容易編出多語言選單的應用程式。
由於各種語言選單實際上是不同的選單資源,所以,在同一應用程式中,可以使用不同
的選單。如共享軟體中註冊的使用者使用一種選單,未註冊的使用者使用另一種選單,而不
必發行多個版本和多次安裝,從而使註冊變得容易並能得到軟體更多的功能。
VC實現動態選單的建立方法
本文簡述了在程式不支援mfc,cmenu不可用的情況下,動態建立系統托盤選單的方法。由於選單項是不確定的,因而就需要用 sdk 建立乙個動態彈出選單。主要實現 如下 code begin 在類中定義的變數 雙擊托盤圖示時對應的選單項 id.uint m ndclickmenuitemid 彈出選單控...
用VC 實現軟體的多語種支援
前言 只用一套源 就可以方便地支援多種文字和多個地域,那麼這個軟體就可以方便地被翻譯成本地版本,這個過程叫做地域化 localization 怎樣才能不修改任何源 就使之能動態地轉換到不同的地域資源上呢?那就是使用windows的程式特性之一 資源。把在軟體中用到的可見資源維繫在乙個資源dll dy...
用VC 實現軟體的多語種支援
前言 只用一套源 就可以方便地支援多種文字和多個地域,那麼這個軟體就可以方便地被翻譯成本地版本,這個過程叫做地域化 localization 怎樣才能不修改任何源 就使之能動態地轉換到不同的地域資源上呢?那就是使用windows的程式特性之一 資源。把在軟體中用到的可見資源維繫在乙個資源dll dy...