vc 制作图片资源dll
方法一: 使用纯WIN32 DLL方法封装纯资源
第一步,通过VS2005建立WIN32 DLL 空工程
第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)
设置配置属性->C/C++->代码生成->运行时库(多线程/MT)
第三步,加入图片资源并定义资源名称
第四步,生成DLL,如Skin.DLL
第五步,调用方法例子
HINSTANCE hLibrary;
if ((hLibrary = LoadLibrary (TEXT ("skin.DLL"))) == NULL)
{
MessageBox ( TEXT ("Can't load skin.DLL."), TEXT("Error"), 0) ;
}
CBitmap *m_pBitmap = new CBitmap();
hBitmap = LoadBitmap (hLibrary, MAKEINTRESOURCE (IDB_BK_DIALOG_MAIN));
m_pBitmap->Attach(hBitmap);
FreeLibrary(hLibrary );
方法二使用: MFC DLL封装
第一步,建立MFC DLL项目
第二步增加 输出函数
extern "C" __declspec(dllexport) HBITMAP WINAPI
LoadBitmapFromResource(long nResourceID);
HBITMAP WIANPI LoadBitmapFromResource(long nResourceID){
return LoadBitmap(theApp.m_hInstance,MAKEINTRESOURCE(nID));
}
第三步 加入资源和
第四步 生成DLL,和对应的Lib如,skin.dll和skin.lib
第五步调用,拷贝skin.dll和skin.lib到自己的工程,在工程中加入skin.lib之后
此时可使用LoadBitmapFromResource()来隐式的调用skin.dll中的输出函数了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、


===========================================================================================================================
==========================================================================================
vc 制作图片资源dll的更多相关文章
- 用VC制作应用程序启动画面
摘 要:本文提供了四种启动画面制作方法. 使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是 可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢 ...
- VC生成的DLL给QT的EXE调用时lib路径问题小结
VC生成的DLL给QT调用,有两种方式,一种是隐式调用调用(使用.lib文件方式): ① 在*.pro工程文件中添加VC生成的lib文件路径时,或者使用一个绝对路径,如: LIBS += " ...
- 发现个delphi调用vc写的Dll中包括pchar參数报错奇怪现象
发现个delphi调用vc写的Dll中包括pchar參数奇怪现象 procedure中的第一行语句不能直接调用DLL的函数,否则会执行报错,在之前随意加上条语句就不报错了奇怪! vc的DLL源代码地址 ...
- VC 使用msxml6.dll动态链接库中的函数读写XML文件
VC 使用msxml6.dll动态链接库中的函数读写XML文件 目录 1 引言 2 .dll使用方法 3 常用函数总结 4 实例应用 5 运行效果预览 6 补充说明 7 不足之处 8 更新 引言: ...
- VC++制作DLL详解
1. DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径——静态链接和动态链接. 1. 静态链接 链接程序搜索对应的库文件(.lib),然后将这个对 ...
- VC++制作DLL具体解释
1. DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径--静态链接和动态链接. 1. 静态链接 链接程序搜索相应的库文件(.lib),然后将这个对 ...
- 2015.3.3 VC++6制作MFC dll并在其中使用对话框、引入类的操作
上例建立的dll为非MFC的,不能使用MFC框架,如CString.对话框等类型,使用起来有一定限制.可以建立MFC的Dll来改进.建立MFC Dll的方法: 1.在VC6中新建工程时选择:MFC A ...
- VS2010 /VC/bin/rcdll.dll 无法找到资源编译器
把C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin 目录下的rcdll.dll拷贝到 C:\Program Files(x86)\Micr ...
- vc++引用外部dll时报error LNK2019: 无法解析的外部符号
初学cpp,因为之前装linux下各种软件的时候,知道LD_LIBRARY_PATH可以指定动态库的目录.今天在vc集成log4cpp的时候,编译main时报error LNK2019: 无法解析的外 ...
随机推荐
- android项目中刷新activity界面
android项目中在sqlite数据库插入/更新/删除数据后: 1. 刷新当前activity界面数据(手动刷新): 在activity类下新增一个refresh()方法: /** * 刷新, 这样 ...
- 大整数乘法python3实现
因为python具有无限精度的int类型,所以用python实现大整数乘法是没意义的,可是思想是一样的.利用的规律是:第一个数的第i位和第二个数大第j位相乘,一定累加到结果的第i+j位上,这里是从0位 ...
- 64位CentOS6.2安装erlang及rabbitmqServer
CentOS 6.2 64bit 安装erlang及RabbitMQ Server 1.操作系统环境(CentOS 6.2 64bit) [root@HAproxy ~]# cat /etc/issu ...
- 一天一个类,一点也不累 之 Vector
一天一个类,一点也不累. 今天要说的是ArrayList的亲兄弟--Vector 亲兄弟?看看“族谱” Class Vector<E> java.lang.Object java.util ...
- gethostbyname() -- 用域名或主机名获取IP地址
#include <netdb.h> #include <sys/socket.h> struct hostent *gethostbyname(const char * ...
- 基于visual Studio2013解决C语言竞赛题之1005整理队形
题目 解决代码及点评 /************************************************************************/ ...
- BZOJ 2588: Spoj 10628. Count on a tree( LCA + 主席树 )
Orz..跑得还挺快的#10 自从会树链剖分后LCA就没写过倍增了... 这道题用可持久化线段树..点x的线段树表示ROOT到x的这条路径上的权值线段树 ----------------------- ...
- android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3
今天在写一个小项目的数据库部分的功能时,出现了一个这样的问题:java.lang.RuntimeException: Failure delivering result ResultIn ...
- 高焕堂《android从程序员到架构师之路》 YY讲坛直面大师学习架构设计
<android从程序员到架构师之路>YY讲坛活动: sundy携手高焕堂老师全程YY答疑 与大师一起,分享android技术 时间:7月21日下午2:00 报名联系QQ:22243 ...
- java设计模式之观察者模式(9)
Java观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象.这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者 ...