用过InstallShield7.0的朋友请进,如何设置背景图?

解决方案 »

  1.   

    InstallShield7.0我不知道,但InstallShield6.0中在编译生成的文件中有一个Setup.bmp的位图文件,用你自己的位图替换掉就行了。
      

  2.   

    2.4  PlaceBitmap
    语法:PlaceBitmap (szName, nID_BITMAP, nDx, nDy, nDrawOp);
    说明:PlaceBitmap函数在安装窗口中插入一个图象。图象来源由szName指定,它可以是一个位图文件(.bmp),图元文件(.wmf),或者是动态链接库(.dll)。InstallShield支持2色、16色、256色和真彩色位图(bitmap)。2色、16色、256色位图可有透明部分。
        透明位图在显示可与背景窗口组合显示的图象时有用。在位图中与指定的透明色匹配的像素不会被显示;在该位置的背景像素保持可见。在安装中,一个有技巧的设计常常用包含有公司名称和徽标的透明位图来作为安装窗口的标题。
        为指定一个透明位图,你必须给参数nDrawOp位置传递一个常量BITMAPICON。你也必须考虑在一个位图中什么颜色被置为透明。缺省的透明色是purple(RGB(255,0,255))。要指定一个不同的透明色,可用下面描述的参数szName来指定。
    因为图元文件(metafile)是绘制的,而不是放置的,它们固有为透明。如果BITMAPICON被指定为一个图元文件,则该参数被忽略。
        通过使用SetDisplayEffect函数可以显示非透明位图的许多特殊显示效果。该函数也为图元文件提供了有限的显示效果。
    窗口中位图的位置可以用两种方法中的一种来指定:
    ·通过参数nDrawOp来传递位置常数。
    ·通过参数nDx与nDy来传递距安装窗口边缘的垂直和水平位移。 
    通常可通过调用PlaceBitmap(将参数nDrawOp设置为REMOVE)来删除任何不再需要的位图文件和图元文件。建议删除不需要的位图,即使该位图可以被其他位图完全覆盖,因为第一个位图的调色板入口只有在位图被删除后才会被释放。
      一个真彩色位图显示在一个运行于16色或256色模式的系统上时,只用那些在调色板中有效的颜色;不会给位图分配附加的颜色,即使附加调色板入口是有效的。若你希望含有24位位图的安装可在16色或256色的系统中运行,需要包含该位图的16色或256色的版本。然后在选择要显示的位图前带参数COLORS调用GetSystemInfo来确定当前颜色模式。
    参数:
    szName
    指定要被显示图象的位图文件、图元文件的全限定名或动态链接。InstallShield通过扩展名来识别位图文件和图元文件。位图文件必须有扩展名.bmp,图元文件必须有扩展名.wmf.动态链接必须有扩展名.dll。如果一个文件名指定为没有扩展名,InstallShield将假定其扩展名为.dll。
      为指定一个候选透明色,在文件名后放置一个分号(;),后随一组RGB颜色值(RGB颜色由三个数值指定,由逗号分隔)。该颜色被用作由szName指定的位图的透明色。注意它对于已经被显示的位图不起作用,也不会成为随后调用PlaceBitmap而显示的位图的缺省透明色。
    下面的参数指定白色为透明色:
    SUPPORTDIR ^ "Bitmap.bmp;255,255,255" 
    当nDrawOptions设置为 REMOVE时,该参数被忽略。
    nID_BITMAP
    指定驻留在一个.dll中的位图的资源ID。如果位图的源点是图元文件或位图文件,指定一个在当前显示的图象中没有使用的数值;所有同时显示的图象必须有其唯一的ID号。当nDrawOptions设置为REMOVE,该参数必须包含显示的图象的ID。
    nDx
    当nDrawOp设置为LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT时以像素点指定安装窗口边缘和图象边缘之间的水平距离;否则该参数被忽略。
    nDy
    当nDrawOp设置为LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT时以像素点指定安装窗口边缘和图象边缘之间的垂直距离;否则该参数被忽略。
    nDrawOp
    指定位图放置的位置,设置放置选项,或者删除先前放置的位图。给该参数传递下列预定义好的常数:
    BITMAPICON:指出位图有透明部分。用户可以用按位或运算符(|)来将该常量和其他常量(除TILED、FULLSCREEN或FULLSCREENSIZE外)组合。当BITMAPICON和那些常量之一组合时,按位或运算被忽略,而只使用BITMAPICON。
    TILED:位图在主安装窗口平铺。该常量通常被用来创建一个安装背景。当该常量被指定时,即使位置选项被忽略,特殊效果已被SetDisplaytEffect激活,位图仍正常显示。
    FULLSCREEN:拖拉图象使其填充整个安装窗口。拖拉时图象不会被调整大小。如果一个位图图象比InstallShield主窗口小,它在窗口中被置中,背景由当前背景色填充。缺省值为深青色(teal);可以通过使用SetColor函数来改变。当这个常量被指定时,位置选项被忽略,即使一个特殊效果已经被SetDisplayEffect激活,位图仍正常显示。
    FULLSCREENSIZE:拖拉和伸展图象使其填充满整个安装窗口。当这个常量被指定时,位置选项被忽略,即使一个特殊效果已经被SetDisplayEffect激活,位图仍正常显示。
    CENTERED:将位图置于InstallShield安装窗口的中央。
    LOWER_LEFT:将位图置于InstallShield安装窗口的左下角。
    LOWER_RIGHT:将位图置于InstallShield安装窗口的右下角。
    UPPER_LEFT:将位图置于InstallShield安装窗口的左上角。
    UPPER_RIGHT:将位图置于InstallShield安装窗口的右上角。
    REMOVE:删除一个先前放置的位图或图元。任何由SetDisplayEffect激活的特殊效果被忽略。
    返回值:
    0:表明函数成功找到和放置图象。
    < 0:表明函数未能找到或放置图象。
    注解:
    ·调用SetDisplayEffect来为非平铺、全屏幕、透明位图设置特殊效果;用户也可以用它为图元设置有限的特殊效果。
    ·InstallShield不支持24位透明位图。如果用户在一个24位位图中包含了透明色而且指定了BITMAPICON常量,该颜色将被正常显示。
    ·当你在运行256色模式的系统中放置一个256色的位图时,InstallShield将试图分配位图的调色板到系统调色板。如果多个256色位图被放置,InstallShield将试图将所有可视位图的调色板合并到系统调色板,优先为最近放置的位图。这种行为可能导致在其他位图被显示时先前放置的位图改变颜色。
    ·在一个运行在有256色抖动背景的256色模式的系统中,含有许多颜色的位图可能导致一些给背景使用的调色板入口被重新分配;这可引起在背景中出现一种梯度效果。如果安装中包含了使用多种颜色的位图,则当它们运行在256色系统中时应不要使用256色抖动背景。
    ·系统调色板仅存在于运行在256色模式的系统中。运行在windows 95和其后高彩色或者真彩色模式下的系统及运行在65525(16位)色模式Windows NT下的系统中都没有系统调色板。这些系统中不用考虑调色板句柄问题。颜色使用RGB值来直接显示。
    ·因为图元文件是被着色的,它们不包括一个自定义调色板。当一个图元文件在一个256色系统中显示时,不发生调色板处理;图元文件是用当前调色板中有用的颜色绘制而成。由此,若要运行在256色系统中,用户在安装程序中不应该使用显示颜色不同于标准16色的图元文件。看这里http://www.csdn.net/Develop/article/15%5C15478.shtm