Chinaunix首页 | 论坛 | 博客
  • 博客访问: 573973
  • 博文数量: 98
  • 博客积分: 4045
  • 博客等级: 上校
  • 技术积分: 1157
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-31 16:56
文章分类

全部博文(98)

文章存档

2010年(7)

2009年(15)

2007年(73)

2006年(3)

我的朋友

分类:

2007-08-07 16:19:03

这里只好详细地介绍一下res://协议的详细用法。Res://协议是IE 4.0预定义的一个协议,它的基本语法正如你所说的。其中resource file指的是含有资源的模块的文件名,请注意这里的路径分隔符只能使用“\”,而不能使用“/”。 Resourcetype是资源类型,它是一个字符串或数字。常用的资源类型都对应着一个数,比如BITMAP对应着RT_BITMAP=2,这些常数定 义在VC++的WINUSER.H可以找到,如果资源类型是数字,要在数字前面加上“#”号。Resourcetype可以省略,默认为RT_HTML= 23,即HTML文件。RT_HTML在VC++ 5.0中没有定义,但现在已经广泛使用。 Resource id表示资源的ID号。在这里要注意一个问题:在VC++中定义资源的时候,通常是使用数字常量,比如ID_BITMAP1,它代表的数字可能是101。 而在使用res://协议时,不能使用ID_BITMAP1(在DLL中并没有这个符号),而必须使用#101来代表资源。例如要显示一个位图资源,其 ID号为101,应为res://mydll.dll/#2/#101。
    如果在VC++制作的DLL中加入HTML资源文件,可以这样做:选择Import资源,然后选择一个HTML文件,当VC++提示资 源类型时输入23(下图)。然后修改该属性的ID,例如"MYHTML.HTM"。这里的引号是必须输入的,如果不输入引号,VC++会指定一个数字给这 个资源,调用的方法会有所不同。这样你可以使用res://mydll.dll/myhtml.htm来调用这个HTML文件。HTML文件中包含的图形 文件也应该以这种方式插入。
    
#define RT_CURSOR           MAKEINTRESOURCE(1)
#define RT_BITMAP MAKEINTRESOURCE(2)
#define RT_ICON MAKEINTRESOURCE(3)
#define RT_MENU MAKEINTRESOURCE(4)
#define RT_DIALOG MAKEINTRESOURCE(5)
#define RT_STRING MAKEINTRESOURCE(6)
#define RT_FONTDIR MAKEINTRESOURCE(7)
#define RT_FONT MAKEINTRESOURCE(8)
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
#define RT_RCDATA MAKEINTRESOURCE(10)
#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
#define DIFFERENCE          11
#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR + DIFFERENCE)
#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON + DIFFERENCE)
#define RT_VERSION MAKEINTRESOURCE(16)
#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
#if(WINVER >= 0x0400)
#define RT_PLUGPLAY MAKEINTRESOURCE(19)
#define RT_VXD MAKEINTRESOURCE(20)
#define RT_ANICURSOR MAKEINTRESOURCE(21)
#define RT_ANIICON MAKEINTRESOURCE(22)

阅读(3878) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~