青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

resource dll

resource dll
許多細(xì)心的人也許已經(jīng)注意到,在VC的集成編譯環(huán)境 (IDE)中有一個(gè)功能,你可以選中一個(gè)資源,在上面點(diǎn)擊鼠標(biāo)右鍵,選擇Insert Copy,選擇一個(gè)不同的Condition。然而我用VC十多年,一直沒(méi)有用過(guò)這個(gè)特性,也從來(lái)不知道他是干嗎的。前兩天有個(gè)網(wǎng)友問(wèn)我這個(gè)東西是干嗎的,才下決心去研究一下。仔細(xì)研究之后,才發(fā)現(xiàn)他是用于資源DLL的。
?
對(duì)于提供國(guó)際化解決方案的程序設(shè)計(jì)者而言,根據(jù)用戶地區(qū)設(shè)置來(lái)顯示對(duì)應(yīng)的語(yǔ)言界面,將是非常有意義的。本文的目的是提供一個(gè)step by step的建議,讓沒(méi)有做過(guò)資源dll的人可以從中受益。由于我也沒(méi)做過(guò)資源dll,研究這個(gè)也就半天時(shí)間,因此如果有什么錯(cuò)誤,也很正常。請(qǐng)發(fā)現(xiàn)錯(cuò)誤的朋友直接發(fā)郵件給我。對(duì)于你的幫助,我將非常感謝。
?

主工程的要求

對(duì)于一個(gè)需要使用資源dll實(shí)現(xiàn)國(guó)際化的工程,我們必須保證每個(gè)展現(xiàn)給用戶的界面元素都必須從資源里獲得。這主要指得是名目繁多的字符串。程序設(shè)計(jì)者喜歡用AfxMessageBox顯示信息。在單語(yǔ)言情況下,這當(dāng)然沒(méi)有問(wèn)題。但是如果是多語(yǔ)言環(huán)境,這樣做就很難控制這個(gè)顯示信息和當(dāng)前的區(qū)域設(shè)置匹配。

?

另外,主工程的設(shè)計(jì)應(yīng)該在創(chuàng)建資源dll之前完成。這樣做的原因是,資源dll設(shè)計(jì)很簡(jiǎn)單,花不了多少時(shí)間。而如果資源的修改,如果沒(méi)有正確反映到代碼上,有時(shí)候程序會(huì)莫名其妙的崩潰了,而你需要花很長(zhǎng)的時(shí)間來(lái)找到原因。我自己的一個(gè)例子是:我在icon中插入了一個(gè)65535色的圖片,程序一直起不來(lái),后來(lái)找了很久才找到原因。如果我們按照普通方式設(shè)計(jì)主工程,并經(jīng)過(guò)測(cè)試證明他工作正常,此時(shí)再做資源dll,就會(huì)避免在兩個(gè)工程之間調(diào)試并找原因。

?

實(shí)際上對(duì)于增量開發(fā)情況,這種資源dll和主工程并存的情況可能難以避免,這時(shí)就需要增刪資源特別小心,避免導(dǎo)致錯(cuò)誤。

?

為了簡(jiǎn)化起見,我創(chuàng)建一個(gè)缺省的對(duì)話框工程來(lái)做測(cè)試,步驟如下:

  1. 啟動(dòng)Microsoft Visual Studio 6.0
  2. 點(diǎn)擊File, New
  3. 選擇Microsoft AppWizard(exe)工程,輸入工程名test,點(diǎn)擊OK
  4. 選擇Dialog Based,并在What language would you like your resources in?下選擇中文(此時(shí)選擇自己最喜歡的語(yǔ)言即可,我不熟悉英文,就選擇中文了)
  5. 點(diǎn)擊Finish創(chuàng)建工程

?創(chuàng)建資源dll工程

我們可以按照下述步驟創(chuàng)建一個(gè)資源DLL:
?
  1. 創(chuàng)建一個(gè)普通的WIN32 Dynamic-Link Library(這里取名testdll)
  2. 把主工程中的所有資源相關(guān)的文件(rc,rc2,ico等)加入這個(gè)dll工程
  3. 點(diǎn)擊菜單Build, Configurations,此時(shí),我們應(yīng)該有Release和Debug兩個(gè)配置
  4. 點(diǎn)擊Add按鈕,以Debug為模板創(chuàng)建DebugEN和DebugCN
  5. 重復(fù)上述步驟,以Release為模板,創(chuàng)建ReleaseEN和ReleaseCN
  6. 刪除原來(lái)的Debug和Release配置,然后點(diǎn)擊Close退出配置對(duì)話框
  7. 按組合鍵ALT+F7彈出Project Settings對(duì)話框
  8. 選擇Resources頁(yè)
  9. 左側(cè)選擇All Configurations
  10. 在Preprocessor Definitions中添加如下宏AFX_RESOURCE_DLL
  11. 左側(cè)選擇Multiple Configurations,選中DebugEN和ReleaseEN
  12. 重復(fù)第10步,輸入AFX_TARG_ENU宏(這是為美國(guó)英語(yǔ)而定義的宏English U.S)
  13. 重復(fù)11,12步,為DebugCN和ReleaseCN添加AFX_TARG_CHS宏(這是為簡(jiǎn)體中文的宏Chinese Simplified)
  14. 選擇Link頁(yè),為每個(gè)配置指定輸出文件名(我這里分別為testdll_end.dll, testdll_enr.dll, testdll_cnd.dll,testdll_cnr.dll,分別表示英文debug,英文release和中文相關(guān)文件)
  15. 關(guān)閉Project Settings對(duì)話框
  16. 選中Resource View
  17. 在每個(gè)資源ID上右擊,選擇Insert Copy,改變Language為English(U.S)
  18. 如果為同一種語(yǔ)言你還希望提供根據(jù)某個(gè)自定義的宏而選擇不同的界面(如UI模式和Service模式),在Condition中輸入你用以區(qū)分的宏名,如SERVICE_DLL。
  19. 打開每個(gè)新創(chuàng)建的資源,根據(jù)自己的需要修改資源(注意:這里只建議修改文字、字體,必須嚴(yán)格保證不刪除任何資源)
  20. 保存修改
  21. 編譯資源DLL

修改主工程

由于我們打算用資源dll來(lái)提供資源信息,我們必須對(duì)主工程做如下修改:
  1. 打開工程
  2. 選擇File View,刪除rc,rc2,ico等和資源密切相關(guān)的文件。resource.h請(qǐng)不要?jiǎng)h除
  3. 在CWinApp中添加一個(gè)私有的HMODULE類型的變量m_hResource
  4. 在InitInstance函數(shù)開頭添加如下代碼:
?LANGID id = ::GetUserDefaultLangID();
?switch(id)
?{
?case 0x804://中文
#ifdef _DEBUG
?? m_hResource = LoadLibrary(_T("D:\\projects\\testdll\\DebugCN\\testdllcnd.dll"));
#else
?? m_hResource = LoadLibrary(_T("D:\\projects\\testdll\\ReleaseCN\\testdllcnr.dll"));
#endif
?? break;
default:
#ifdef _DEBUG
?? m_hResource = LoadLibrary(_T("D:\\projects\\testdll\\DebugEN\\testdllend.dll"));
#else
??m_hResource = LoadLibrary(_T("D:\\projects\\testdll\\ReleaseCN\\testdllenr.dll"));
#endif
?}
?if(m_hResource == NULL)
?{
?? return FALSE;
?}else{
?? AfxSetResourceHandle((HINSTANCE)m_hResource);
?}
?此后再做一點(diǎn)簡(jiǎn)單的調(diào)試,應(yīng)該就可以了。具體調(diào)試,就已經(jīng)超出我這篇文章所能討論的范圍了。

http://ronaldyan.spaces.msn.com/blog/cns!FA58BC446FBB14B9!107.entry

posted on 2006-07-03 22:39 楊粼波 閱讀(427) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 文章收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜影视日本亚洲欧洲精品| 欧美电影免费网站| 国产精品一区在线观看| 香港久久久电影| 亚洲一二三四久久| 99re6这里只有精品| 欧美aaaaaaaa牛牛影院| 久久av红桃一区二区小说| 99精品欧美一区二区蜜桃免费| 亚洲国产高清视频| 男人天堂欧美日韩| 欧美黑人多人双交| 一区二区三区精品视频| 亚洲制服欧美中文字幕中文字幕| 在线亚洲一区二区| 巨胸喷奶水www久久久免费动漫| 久久精品在线免费观看| 老鸭窝毛片一区二区三区| 欧美日韩精品免费观看视频完整 | 欧美高清视频| 99国产精品自拍| 久久亚洲一区二区三区四区| 亚洲日本在线视频观看| 日韩香蕉视频| 久久综合久色欧美综合狠狠 | 亚洲成人在线免费| 日韩网站在线| 久久综合中文字幕| 欧美亚洲综合久久| 国产精品久久久久久一区二区三区| 黑人巨大精品欧美黑白配亚洲| 国产精品99久久久久久www| 欧美二区在线看| 久久久亚洲精品一区二区三区 | 久久久蜜桃精品| 国产婷婷色综合av蜜臀av| 一区二区三区免费看| 亚洲国产精品久久久久秋霞蜜臀 | 免费不卡在线视频| 欧美一区成人| 国产日韩欧美三区| 久久中文精品| 欧美成人午夜视频| 一区二区日韩免费看| 中文国产亚洲喷潮| 国产视频在线观看一区二区三区 | 日韩午夜免费| 亚洲一区二区三区在线看| 国产小视频国产精品| 欧美大成色www永久网站婷| 欧美成人免费网站| 麻豆精品在线视频| 一本一本久久a久久精品综合妖精| 欧美激情精品久久久久久大尺度 | 国产精品yjizz| 欧美一区二区三区播放老司机| 亚洲在线视频一区| 亚洲电影欧美电影有声小说| 亚洲黄色片网站| 国产欧美精品日韩| 一本久久a久久免费精品不卡| 国产欧美日韩视频一区二区| 亚洲国产日韩欧美| 激情av一区| 欧美中文字幕| 午夜精品福利视频| 欧美日韩国产一级片| 老司机免费视频久久 | 亚洲精品久久久久中文字幕欢迎你 | 宅男精品视频| 免费欧美在线| 久久男人资源视频| 亚洲一区图片| 亚洲一区二区三区久久| 欧美激情va永久在线播放| 蜜桃av久久久亚洲精品| 国产农村妇女精品| 亚洲午夜久久久| 午夜欧美电影在线观看| 亚洲国产成人精品久久久国产成人一区 | 国产伦理一区| 午夜精品久久久久久久蜜桃app | 亚洲视频电影图片偷拍一区| 在线视频精品一区| 欧美午夜精品理论片a级按摩| 一本色道久久88精品综合| 亚洲午夜视频在线观看| 国产日韩综合| 久久中文字幕一区| 一本久久综合亚洲鲁鲁五月天| 亚洲在线一区二区| 激情成人亚洲| 国产精品久久国产三级国电话系列| 亚洲午夜视频在线| 麻豆精品91| 亚洲一区二区三区四区在线观看| 国产三级精品三级| 欧美国产日韩a欧美在线观看| 在线综合亚洲欧美在线视频| 久久在线观看视频| 欧美一区二区视频观看视频| 亚洲国产天堂久久综合| 国产精品久久久久久久久久久久久久 | 久久精品亚洲热| 在线观看成人av电影| 欧美不卡福利| 午夜精品区一区二区三| 国产亚洲毛片在线| 欧美视频福利| 欧美精品三区| 另类图片综合电影| 久久精品91| 日韩亚洲欧美成人一区| 欧美国产日本在线| 久久久久久午夜| 欧美在现视频| 久久九九精品99国产精品| 亚洲视频在线二区| 亚洲一级特黄| 亚洲影院色无极综合| 亚洲精品一线二线三线无人区| 亚洲成人直播| 亚洲免费精彩视频| 亚洲影院免费| 久久久午夜视频| 欧美一区二区精品在线| 欧美在线free| 欧美顶级少妇做爰| 国产精品v片在线观看不卡| 国产精品入口夜色视频大尺度| 国产精品一区二区三区观看| 国产情侣一区| 亚洲高清毛片| 亚欧美中日韩视频| 亚洲福利视频专区| 久久黄色级2电影| 欧美激情精品久久久久| 国产精品区一区| 亚洲精品欧美在线| 久久久久久久久久久久久9999| 亚洲国产成人在线播放| 亚洲影院在线| 欧美日韩视频一区二区| 在线成人欧美| 裸体丰满少妇做受久久99精品| 99pao成人国产永久免费视频| 久久都是精品| 国产日韩欧美在线看| 国产综合久久久久久鬼色| 国产亚洲欧美另类中文| 亚洲精品一区在线观看| 亚洲精品一二区| 免费成人av资源网| 亚洲国产精品va在线观看黑人| 亚洲国产精品激情在线观看| 免费在线欧美视频| 亚洲精品一级| 亚洲欧美综合一区| 国外成人免费视频| 欧美a级片一区| 亚洲人精品午夜在线观看| 亚洲桃花岛网站| 国产亚洲一区二区精品| 久久久欧美精品sm网站| 亚洲国产高清高潮精品美女| 亚洲婷婷免费| 国产自产v一区二区三区c| 美女日韩在线中文字幕| 一级日韩一区在线观看| 久久精品女人的天堂av| 亚洲精品视频在线| 国产精品免费福利| 久久夜色精品亚洲噜噜国产mv| 亚洲国产一二三| 欧美在线视频日韩| 欧美性猛交xxxx免费看久久久 | 久久精品国产欧美激情| 亚洲国产成人一区| 国产日韩av高清| 欧美黄色网络| 欧美综合国产| 亚洲少妇自拍| 亚洲国产精品毛片| 久久久亚洲欧洲日产国码αv | 久久精品一区蜜桃臀影院 | 久久久久久久97| 一区二区三区 在线观看视| 免费高清在线一区| 欧美一级大片在线免费观看| 亚洲区国产区| 精品成人乱色一区二区| 国产精品久久久久久久久久久久| 久久夜色精品国产亚洲aⅴ| 亚洲欧美在线一区二区| 欧美福利视频一区| 国产自产精品| 国产精品v欧美精品v日本精品动漫| 久久久国产成人精品| 中文有码久久| 亚洲国产婷婷|