一步一步教你用vc純資源dll解決國際化問題這的確是個老話重談了,因為這裡面確實也沒有什麼可以稱的上技術含量的,只是實現起來有點煩瑣,不過我還是要寫出來,希望剛接觸這方面的同行們不至於走太多的彎路。
由於mfc應用程式也有自己的資源檔案,當你呼叫mfc函式比如 cstring::loadstring 或其它 loadicon 時,mfc應用程式框架首先跟蹤搜尋exe檔案的資源,然後才是dll和mfc的資源,因此在使用純資源dll時候,必須人為先改變資源的搜尋順序,可以通過使用 afxsetresourcehandle 函式來實現,具體實現如下:
else
afxsetresourcehandle(m_hlangdll);
……}下面開始談談具體的實現步驟。
一、建立主工程
步驟:
從專案中移出所有的資源檔案,把resource面板中的所有檔案移出,把fileview面板中的multilanguage.rc,resource.h,以及resource files下的所有檔案移出。(說明:移出的檔案並不是從實際的檔案目錄中刪除掉)
二、建立英文版的dll
步驟:刪除不需要的檔案:把resource面板中的所有檔案移出,把 fileview 面板中的english.rc,resource.h,以及resource files下的所有檔案移出,然後也可以從實際目錄中刪除掉;
複製相關的資源檔案:把multilanguage目錄下的multilanguage.rc,resource.h檔案複製到english工程檔案目錄下,還需要把 multilanguage/res 下的所有檔案複製到english/res目錄下(這樣操作起來簡單,當然你可以根據需要,選擇複製的檔案);
把3步複製的所有檔案新增到專案中去;
把所有的中文的資源名修改為相關的英文資源,同時需要把支援的語言改為「english(u.s.).",把project選單 setting 對話方塊中 resource 標籤的預設文字改為"english(u.s.).」,還需要在resource標籤下刪
除預處理定義中的"_afxdll"。這樣使用者的鏈結庫包含通用的mfc資源;
然後編譯建立動態鏈結庫就ok了;
private:建構函式中初始化:bool m_bchinese;
hinstance m_hlangdll;
在initinstance()函式修改資源載入順序:
else
afxsetresourcehandle(m_hlangdll);
……} 別忘了exitinstance()函式釋放掉載入的dll資源
最後編譯執行!
一步一步教你配置vnc
配置 vnc遠端桌面連線 1.在命令列輸入 init 3 進入純字元介面 2.kill 掉所有與 x有關的程序 用命令ps aux grep x 然後kill 程序號1 程序號2 只要找到的程序都 kill 掉 如果不會使用 kill 命令,直接重啟電腦 3.首先檢查 vncserver 是否安裝使...
教你一步一步用OpenGL寫遊戲 前言
這是乙個系列的教程。在這套教程裡,我將會把之前用opengl qt做過的一款遊戲和大家分享,並且從頭到尾一步步分析整個遊戲的實現過程和架構設計。關於寫這些東西的目的,我想大概有三點吧 其一是想把自己寫過的這個遊戲重新梳理一遍,認真重構重構,真正理解其中用到的技術和演算法,更加深入地把握軟體專案開發技...
教你 新手 一步一步開始SEO
如果你從事seo工作已經有段時間了,你可能對如何來優化乙個網頁有種直覺。你可能是同時來做好幾件事,而不是執行一步一步的過程。但是如果你是正在學習seo,或者是試圖去理解seo們是怎麼來做你的網頁的,那就顯得有些難度了,尤其當你第一次接觸這個的時候。這篇文章旨在幫助seo初學者們更多的了解seo的過程...