Duilib將UI資源文件打包到exe教程


轉載:http://www.voidcn.com/blog/w839687571/article/p-6001921.html

轉載:http://www.voidcn.com/blog/x356982611/article/p-560532.html

需要注意的是WindowImplBase中是這樣載入ZIP資源的,因此資源類型必須為ZIPRES

一、在工程中新建res文件夾

 二、把窗口需要的xml文件和圖標放到res文件夾中

三、把這些文件進行壓縮,格式為.zip(必須按照下面方式壓縮,不然程序加載資源會失敗)

四、修改工程屬性

第一步:確保是默認設置

第二步:

 

編輯好的結果:

 

注:個人根據每個工程具體設置,這個只是個例子。。。

第三步:

最后點擊確定,工程屬性修改完成。

 

五、添加資源

第一步:

第二步:

第三步:

第四步:

 

第五步:

 

六、程序中設置資源ID, 和 加載資源方式.

 

1 virtual LPCTSTR GetResourceID() const
2     {
3         return MAKEINTRESOURCE(資源ID);
4     };
5     virtual UILIB_RESOURCETYPE GetResourceType() const
6     {
7         return UILIB_ZIPRESOURCE; 
8     };

 

WinMain函數這個寫:

 1 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
 2 {
 3     CPaintManagerUI::SetInstance(hInstance);
 4 
 5     HRESULT Hr = ::CoInitialize(NULL);
 6     if( FAILED(Hr) ) return 0;
 7 
 8     CLoginWnd Login;
 9     Login.Create(NULL, _T("LoginWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
10     Login.CenterWindow();
11     Login.ShowModal();
12 
13     ::CoUninitialize();
14     return 0;
15 }

 測試工程:

Demo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM