请教一下,Duilib中换肤的问题。会的可以指导一下吗?感激啊

maya8maya85 2016-12-28 01:34:45
项目为win32+duilib写的一个Demo.很简单,两个皮肤的区别就一行文字不一样。

资源都打包到skin.dll里了,duilib.zip和duilib2.zip。但切换没成功。请问谁能说说问题所在。

如果需要源文件,可以加我的Q:578111217,细聊。

切换的函数如下【在网上抄的】:

	void ReloadZipResource(int ID)//IDR_ZIPRES2
{

HRSRC hResource = FindResource(m_PaintManager.GetResourceDll(), MAKEINTRESOURCE(ID), _T("ZIPRES"));
if (hResource == NULL)
return;
DWORD dwSize = 0;
HGLOBAL hGlobal = LoadResource(m_PaintManager.GetResourceDll(), hResource);
if (hGlobal == NULL)
{
#if defined(WIN32) && !defined(UNDER_CE)
::FreeResource(hResource);
#endif
return;
}
dwSize = SizeofResource(m_PaintManager.GetResourceDll(), hResource);
if (dwSize == 0)
return;
m_lpResourceZIPBuffer = new BYTE[dwSize];
if (m_lpResourceZIPBuffer != NULL)
{
CopyMemory(m_lpResourceZIPBuffer, (LPBYTE)::LockResource(hGlobal), dwSize);
}
#if defined(WIN32) && !defined(UNDER_CE)
FreeResource(hResource);
#endif
CPaintManagerUI::SetResourceZip(m_lpResourceZIPBuffer, dwSize);

CPaintManagerUI::ReloadSkin();
}
...全文
240 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hurryboylqs 2016-12-29
  • 打赏
  • 举报
回复
看你用那个版本的,自己调试断点进去就知道
maya8maya85 2016-12-29
  • 打赏
  • 举报
回复
没有人会吗?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧