请问怎样在VC++中把资源做进DLL以及怎样使用该资源?

BlackSword 2000-01-05 01:14:00
加精
请专家指导,多谢!
...全文
1333 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HuWenjin 2001-06-03
  • 打赏
  • 举报
回复
要想动态的使用DLL OR EXE 中的资源
可以用以下的过程做(我是如此做的)
1. AfxLoadLibary(...);
2. ::LoadImage(hInst,MAKEINSTANCE(**));
3. ::LoadIcon(...);
4. ::Load.....
(使用资源...)
5. AfxFreeLibary(...);

OK 了

要记得读出的资源必须手动删除

HBITMAP hBmp = ::LoadBitmap(...);
::DeleteObject(hBmp)
skt642 2001-05-31
  • 打赏
  • 举报
回复
89254关注!
greatzero 2000-11-13
  • 打赏
  • 举报
回复
COM怎么实现?
softbug 2000-10-31
  • 打赏
  • 举报
回复
还有一种更先进的技术:COM
slh 2000-10-13
  • 打赏
  • 举报
回复
Thank you!
jamesw 2000-01-11
  • 打赏
  • 举报
回复
AfxSetResourceHandle() 可设用那个的资源
AfxGetInstanceHandle() 可得执行文件句柄
AfxLoadLibrary() 可得链接库句柄

用谁的资源设成谁的就行了:
AfxSetResourceHandle(AfxGetInstanceHandle())
AfxSetResourceHandle(AfxLoadLibrary())
dragon 2000-01-11
  • 打赏
  • 举报
回复
上面的例子只适用于以DLL的资源代替当前执行文件的资源,如果两个都要使用的话就不能那样做。
jamesw 2000-01-05
  • 打赏
  • 举报
回复
把下面的代码加入初始化函数InitInstance的顶部:
//调入资源DLL
m_hDemoDLL = AfxLoadLibrary(_T("Resource.dll"));
//告诉应用程序设置资源句柄m_hDemoDLL;
AfxSetResourceHandle(m_hDemoDLL);

ExitInstance加入以下代码:
AfxFreeLibrary(m_hDemoDLL);//释放DLL资源;

在创建类型选择框New中选择MFC AppWizard(dll),创建一个新项目区,
在Step1中选择Regular DLL using MFC DLL,单击OK即可。
资源加入到DLL的rc文件中

使用DLL资源例:
CString strMessage;//定义strMessage为Cstring字串类型;
//从resource DLL中显示字串;
strMessage.LoadString(IDS_DEMO);
pDC->TextOut(60,65,strMessage);
......

2,586

社区成员

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

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