1、InstallShield 内部库函数1 库函数综述InstallShield 包含 300 多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及其它更多工作。因为 InstallShield 脚本编译器已经识别这些库函数名,所以用户在使用它们之前无须说明。为了成功调用一个内部库函数,用户必须知道库函数名称及使用格式。InstallShield 库函数参阅附录D 库函数索引。在接下去的几节中我们将对其中主要的一些库函数作详细介绍。在这里先简单向用户描述一下库函数的构成。如:AskYesNo 是一个库函数,它在对话框中显示一个询问,然
2、后等待最终用户通过点击按扭来响应,Yes 或 No。AskYesNo 格式如下: AskYesNo(szQuestion,nDefault)。这个格式显示了正确的函数名,括号中显示了函数的参数列表。在函数的详细说明帮助中,每个参数用匈牙利标记法表示,指出每个参数位置上可被接受的数值类型。AskYesNo 要求两个参数:第一个是字符类型,第二个是数值型。与 C 语言一样,InstallShield 区分大小写,因此用户要严格注意库函数名称中大写字母。在用户的脚本中使用任何库函数,传递的参数数目一定要正确,并且要确保传递的每个参数值符合该位置规定的类型。如果用户传递了错误的参数数目或者在任何一个或
3、几个参数位置传递了不相符的数值类型,脚本都不能被编译。注意:作为参数传递的字符串必须包括在单引号或者双引号内。如:“Please wait while files are transferred”,或This is a string或“c:Myfoldermyfile.txt”InstallShield 不允许将一个赋值语句作为参数传递。另外,用户在一个函数变量中不能使用说明:Enable 函数激活由参数 nConstant 指定的用户界面对象或安装特性。参数:nConstant指定你要激活的用户界面对象或操作特性。在该参数位置传递下列预定义常量之一:BACKBUTTON:激活显示在一些内部对
4、话框中的 Back 按扭。缺省时 Back 按扭是被激活的,但可以通过调用 Disable 函数来禁用它。BACKGROUND:当安装是在窗口方式时,显示安装主背景窗口。当安装是缺省的全屏幕方式时,该常量没有作用。为激活窗口方式,你必须以常量 DEFWINDOWMODE 或 FULLWINDOWMODE 来调用 Enable。DEFWINDOWMODE:配置主背景窗口为一个有标题栏的标准窗口。如果背景窗口被激活,它的外观将会立即改变。如果背景窗口被禁用,屏幕不会被修改直到带常量 BACKGROUND 调用 Enable 时。DIALOGCACHE:激活对话框缓冲机制,它可以消除在显示对话框之间
5、出现的屏幕闪烁。这种屏幕闪烁在运行于窗口方式的安装的标题栏中特别明显。注意对话框缓冲机制仅工作于有 BACK 和 NEXT 按扭的对话框。缺省时对话框缓冲被禁用。FULLWINDOWMODE:设置主背景窗口为一个有标题栏的最大化窗口。如果背景窗口被激活,它的外观将会立即改变。如果背景窗口被禁用,屏幕不会被修改直到带常量 BACKGROUND 来调用 Enable时。HOURGLASS:使光标改变为“忙”光标,缺省为一个沙漏光标。INDVFILESTATUS:当调用 ComponentTransferData、 CopyFile、 或 XcopyFile 并且进度指示器被激活时,激活显示每个文件
6、的全限定名(在进度指示器的第二行中显示) 。注意,在一个运行基于事件的脚本的安装程序中,ComponentTransferData 被自动调用。LOGGING:激活存入卸载记录功能。当存入功能被激活时,InstallShield 存入的卸载记录的操作结果将被记录在卸载日志文件中,并将在卸载过程中被反向。自动调用 DeinstallStart 激活存入功能;因此,你不需要手动激活存入功能除非你先前用 Disable 函数禁用了它。NEXTBUTTON:激活显示在一些内部对话框中的 Next 按扭。Next 按扭缺省为激活。SELFREGISTERBATCH:激活注册自注册文件的批处理方法。该方法
7、使用来避免和自注册文件相关联的依赖性问题。缺省为标准(非批处理)自注册。有关批处理方法的更多信息如下:在文件组窗格中,高亮显示你的自注册文件的文件组文件夹。它的属性表在打开在右边。双击 Self-Registered 域,则自注册页打开。选择“Yes, all the files in this file group are self-registering“单选钮。打开你的安装脚本(在 Scripts 窗格中找到 Setup.rul) 。 在你传输文件前,以 SELFREGISTERBATCH 选项调用 Enable 函数。所有自注册文件放在一个内部队列中,也就是,当它们被安装时它们会被立即
8、注册。 (在一个使用基于事件脚本的安装程序中,OnBegin处理程序被调用前,Enable(SELFREGISTERBATCH) 会被自动调用。 )传输文件后,以 SELFREGISTRATIONPROCESS 选项调用 Do 函数。当你调用Do(SELFREGISTRATIONPROCESS)时,InstallShield 注册所有自注册文件。如果当 Do 被调用时,系统变量 BATCH_INSTALL 等于 TRUE(表明需要一个重启来完成该安装),则注册自注册文件被延迟到重启后。在你调用 Do(SELFREGISTRATIONPROCESS)后,你可以检查自注册是否成功。如果因任何原因
9、Do失败了,它会返回-1。那些自注册失败的文件的名称被保存在系统变量 ERRORFILENAME 中,由一个分号分隔。例如,下列代码将所有自注册文件注册在文件媒体库中。/ Enable batch method to queue self-registering files.Enable ( SELFREGISTERBATCH );/ Install files.nResult = ComponentTransferData( MEDIA );/ Register the files, check for errors.if Do ( SELFREGISTRATIONPROCESS ) 0 t
10、henszMsg = “File(s) failed to self-register: n“ + ERRORFILENAME;MessageBox (szMsg, WARNING);endif;STATUS:激活显示标准进度指示器(状态栏) 。STATUSDLG:激活显示对话框风格的进度指示器(状态栏) 。STATUSEX:激活显示安装状态对话框来取代进度指示器(状态栏) 。STATUSOLD:激活显示旧风格进度指示器(状态栏) ,它没有一个 Cancel 按扭。返回值:0:表明函数成功激活由参数 nConstant 指定的用户界面对象或安装特性。 0:表明函数未能激活由参数 nConsta
11、nt 指定的用户界面对象或安装特性。注解:缺省时,安装运行在全屏方式;主背景窗口显示为一个没有标题栏的全屏窗口。这种方式中,主安装窗口不能被调整大小并且没有一个可见的标题栏。为激活窗口方式,你必须以常量 DEFWINDOWMODE 或 FULLWINDOWMODE 来调用 Enable。如果你的脚本中调用 Disable 函数来禁用 Next 或 Back 按钮,那么在函数被调用后的所有对话框中该按钮均被禁用,为激活 Next 或 Back 按钮,你需带相应的常量来调用 Enable。DIALOGCACHE 在没有 Next 或 Back 按钮的对话框中不起作用。2.3 FindWindow语
12、法:FindWindow (szClassName, szWinName);说明:FindWindow 函数通过指定一个窗口的窗口类和窗口名为高级开发人员提供一个得到窗口句柄的方法。如果你知道了一个应用程序的窗口类和窗口名,就可得到它的句柄。然后你可以通过这个句柄直接发送信息给该窗口。参数:szClassName指定窗口所属类的名字。若指定为“任意类” ,则在该参数处传递一个空字符串。szWinName指定窗口标题。为返回指定类中最顶层窗口的句柄,在该参数处传递一个空字符串(“” ) 。返回值:XXXX:窗口的句柄。NULL (0):FindWindow 根据指定的窗口名和类名不能找到该窗口。
13、注解:要找到一个窗口的类和名字,可运行 Microsoft Spy.exe 程序。2.4 PlaceBitmap语法:PlaceBitmap (szName, nID_BITMAP, nDx, nDy, nDrawOp);说明:PlaceBitmap 函数在安装窗口中插入一个图象。图象来源由 szName 指定,它可以是一个位图文件(.bmp) ,图元文件(.wmf),或者是动态链接库(.dll) 。InstallShield 支持 2 色、16 色、256 色和真彩色位图(bitmap ) 。2 色、16 色、256 色位图可有透明部分。透明位图在显示可与背景窗口组合显示的图象时有用。在位图
14、中与指定的透明色匹配的像素不会被显示;在该位置的背景像素保持可见。在安装中,一个有技巧的设计常常用包含有公司名称和徽标的透明位图来作为安装窗口的标题。为指定一个透明位图,你必须给参数 nDrawOp 位置传递一个常量 BITMAPICON。你也必须考虑在一个位图中什么颜色被置为透明。缺省的透明色是 purple(RGB(255,0,255)。要指定一个不同的透明色,可用下面描述的参数 szName 来指定。因为图元文件(metafile)是绘制的,而不是放置的,它们固有为透明。如果 BITMAPICON 被指定为一个图元文件,则该参数被忽略。通过使用 SetDisplayEffect 函数可以
15、显示非透明位图的许多特殊显示效果。该函数也为图元文件提供了有限的显示效果。窗口中位图的位置可以用两种方法中的一种来指定:通过参数 nDrawOp 来传递位置常数。通过参数 nDx 与 nDy 来传递距安装窗口边缘的垂直和水平位移。 通常可通过调用 PlaceBitmap(将参数 nDrawOp 设置为 REMOVE)来删除任何不再需要的位图文件和图元文件。建议删除不需要的位图,即使该位图可以被其他位图完全覆盖,因为第一个位图的调色板入口只有在位图被删除后才会被释放。一个真彩色位图显示在一个运行于 16 色或 256 色模式的系统上时,只用那些在调色板中有效的颜色;不会给位图分配附加的颜色,即使
16、附加调色板入口是有效的。若你希望含有 24 位位图的安装可在 16 色或256 色的系统中运行,需要包含该位图的 16 色或 256 色的版本。然后在选择要显示的位图前带参数COLORS 调用 GetSystemInfo 来确定当前颜色模式。参数:szName指定要被显示图象的位图文件、图元文件的全限定名或动态链接。InstallShield 通过扩展名来识别位图文件和图元文件。位图文件必须有扩展名.bmp,图元文件必须有扩展名.wmf.动态链接必须有扩展名.dll 。如果一个文件名指定为没有扩展名,InstallShield 将假定其扩展名为.dll。为指定一个候选透明色,在文件名后放置一个
17、分号(;) ,后随一组 RGB 颜色值(RGB 颜色由三个数值指定,由逗号分隔) 。该颜色被用作由 szName 指定的位图的透明色。注意它对于已经被显示的位图不起作用,也不会成为随后调用 PlaceBitmap 而显示的位图的缺省透明色。下面的参数指定白色为透明色:SUPPORTDIR “Bitmap.bmp;255,255,255“ 当 nDrawOptions 设置为 REMOVE 时,该参数被忽略。nID_BITMAP指定驻留在一个.dll 中的位图的资源 ID。如果位图的源点是图元文件或位图文件,指定一个在当前显示的图象中没有使用的数值;所有同时显示的图象必须有其唯一的 ID 号。当
18、 nDrawOptions 设置为REMOVE,该参数必须包含显示的图象的 ID。nDx当 nDrawOp 设置为 LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT 时以像素点指定安装窗口边缘和图象边缘之间的水平距离;否则该参数被忽略。nDy当 nDrawOp 设置为 LOWER_LEFT, LOWER_RIGHT, UPPER_LEFT, 或 UPPER_RIGHT 时以像素点指定安装窗口边缘和图象边缘之间的垂直距离;否则该参数被忽略。nDrawOp指定位图放置的位置,设置放置选项,或者删除先前放置的位图。给该参数传递下列预定义好的常数:B
19、ITMAPICON:指出位图有透明部分。用户可以用按位或运算符()来将该常量和其他常量(除TILED、 FULLSCREEN 或 FULLSCREENSIZE 外)组合。当 BITMAPICON 和那些常量之一组合时,按位或运算被忽略,而只使用 BITMAPICON。TILED:位图在主安装窗口平铺。该常量通常被用来创建一个安装背景。当该常量被指定时,即使位置选项被忽略,特殊效果已被 SetDisplaytEffect 激活,位图仍正常显示。FULLSCREEN:拖拉图象使其填充整个安装窗口。拖拉时图象不会被调整大小。如果一个位图图象比 InstallShield 主窗口小,它在窗口中被置中,
20、背景由当前背景色填充。缺省值为深青色(teal) ;可以通过使用 SetColor 函数来改变。当这个常量被指定时,位置选项被忽略,即使一个特殊效果已经被SetDisplayEffect 激活,位图仍正常显示。FULLSCREENSIZE:拖拉和伸展图象使其填充满整个安装窗口。当这个常量被指定时,位置选项被忽略,即使一个特殊效果已经被 SetDisplayEffect 激活,位图仍正常显示。CENTERED:将位图置于 InstallShield 安装窗口的中央。LOWER_LEFT:将位图置于 InstallShield 安装窗口的左下角。LOWER_RIGHT:将位图置于 InstallS
21、hield 安装窗口的右下角。UPPER_LEFT:将位图置于 InstallShield 安装窗口的左上角。UPPER_RIGHT:将位图置于 InstallShield 安装窗口的右上角。REMOVE:删除一个先前放置的位图或图元。任何由 SetDisplayEffect 激活的特殊效果被忽略。返回值:0:表明函数成功找到和放置图象。 0:表明函数未能找到或放置图象。注解:调用 SetDisplayEffect 来为非平铺、全屏幕、透明位图设置特殊效果;用户也可以用它为图元设置有限的特殊效果。InstallShield 不支持 24 位透明位图。如果用户在一个 24 位位图中包含了透明色而
22、且指定了BITMAPICON 常量,该颜色将被正常显示。当你在运行 256 色模式的系统中放置一个 256 色的位图时,InstallShield 将试图分配位图的调色板到系统调色板。如果多个 256 色位图被放置,InstallShield 将试图将所有可视位图的调色板合并到系统调色板,优先为最近放置的位图。这种行为可能导致在其他位图被显示时先前放置的位图改变颜色。在一个运行在有 256 色抖动背景的 256 色模式的系统中,含有许多颜色的位图可能导致一些给背景使用的调色板入口被重新分配;这可引起在背景中出现一种梯度效果。如果安装中包含了使用多种颜色的位图,则当它们运行在 256 色系统中时
23、应不要使用 256 色抖动背景。系统调色板仅存在于运行在 256 色模式的系统中。运行在 windows 95 和其后高彩色或者真彩色模式下的系统及运行在 65525(16 位)色模式 Windows NT 下的系统中都没有系统调色板。这些系统中不用考虑调色板句柄问题。颜色使用 RGB 值来直接显示。因为图元文件是被着色的,它们不包括一个自定义调色板。当一个图元文件在一个 256 色系统中显示时,不发生调色板处理;图元文件是用当前调色板中有用的颜色绘制而成。由此,若要运行在 256 色系统中,用户在安装程序中不应该使用显示颜色不同于标准 16 色的图元文件。2.5 PlaceWindow语法:
24、PlaceWindow (nObject, nDx, nDy, nCorner);说明:PlaceWindow 函数改变用户界面对象的位置,包括布告牌。用 nDx 和 nDy 指定对象的边与屏幕边缘的距离。参数:nObject指定要被改变位置的对象。在该参数位置传递下列预定义的常量之一:BACKGROUND:移动背景窗口。BILLBOARD:设置在文件传输过程中使用的布告牌的位置。MMEDIA_AVI:设置要播放的下一个 AVI 文件的窗口位置。缺省时,AVI 文件将在 InstallShield 客户窗口的左边位置窗口中播放,从左起 10 个像素点,从上起 10 个像素点。STATUS:移动
25、进度指示器。STATUSDLG:移动对话框风格的进度指示器。STATUSEX:移动安装状态对话框。STATUSOLD:移动旧风格的进度指示器。当你调用 PlaceWindow 来移动进度指示器或者状态对话框时,确信为你在安装中激活的反馈对象传递了正确常量。例如,如果你调用了 Enable(STATUSOLD),则你必须传递 STATUSOLD 给 PlaceWindow。nDx以像素点指定对象的边与屏幕边缘之间的水平距离。nDy以像素点指定对象的边与屏幕边缘之间的垂直距离。nCorner指定用 nDx 和 nDy 表示的距离是从哪个角度量所得。在该参数位置传递下列预定义的常量之一:LOWER_
26、LEFT:从 InstallShield 主窗口的左边度量得 nDx,从底端度量得 nDy。LOWER_RIGHT:从 InstallShield 主窗口的右边度量得 nDx,从底端度量得 nDy。UPPER_LEFT:从 InstallShield 主窗口的左边度量得 nDx,从顶端度量得 nDy。UPPER_RIGHT:从 InstallShield 主窗口的右边度量得 nDx,从顶端度量得 nDy。返回值:0:表明函数成功改变了对象的位置。 0:表明函数未能改变对象的位置。注解:使用该函数时要意识到一个安装程序要运行在不同的屏幕分辨率下。你在放置对象前可能要确定屏幕范围。距离以像素点度量
27、,是对象边缘与指定的屏幕角落边缘之间的距离。用户不能用该函数定位消息框,因为消息框是由本机的 Windows/PM API 创建。一个消息框的位置由Windows/PM 确定,而不是在 InstallShield 控制之下。另外,用户不能用该函数定位一个自定义对话框。2.6 PlayMMedia语法:PlayMMedia (nType, szFileName, nOperation, nReserved);说明: PlayMMedia 函数播放一个声音或 AVI 文件。MIDI 或 WAVE 类型的声音文件和 AVI(视频) 文件既可以以同步方式也可以以异步方式播放。该函数也可以被用来连续播放
28、一个文件。为了实现这个目的,一个标志可被按位或,来指示该文件以连续方式被播放。由于 AVI 文件早被压缩而且往往大于 1.4MB 的软盘,因此,视频显示推荐于光盘安装。参数:nType指定文件类型。在该参数位置传递下列预定义的常量之一:MMEDIA_WAVE:文件是 WAVE 声音格式。MMEDIA_MIDI:文件是 MIDI 声音格式。MMEDIA_AVI:文件是一个 AVI 文件。szFileName指定要播放的声音/AVI 文件的全限定名。nOperation指定播放方式。在该参数位置传递下列预定义的常量:MMEDIA_PLAYSYNCH:同步播放。MMEDIA_PLAYASYNCH:异
29、步播放。该常量可以用或运算符(|)与MMEDIA_PLAYCONTINUOUS 组合使用。MMEDIA_PLAYCONTINUOUS:连续循环播放。当以同步方式播放一个声音/AVI 文件时不能使用该值。它只使用于以异步方式播放的文件。用或运算符(|)将它与 MMEDIA_PLAYASYNCH 组合使用。MMEDIA_STOP:停止播放。nReserved给该参数传递 0 值,不允许其他值。返回值:0:表明函数成功播放文件。 0:表明函数不能播放文件。2.7 RGB语法:RGB (constRed, constGreen, constBlue);说明:RGB 函数创建一个自定义颜色值,该颜色可被
30、 SetColor 和 SetTitle 使用。参数:constRed指定一个数值型常数,值域为 0.255,指示在自定义色中红色的数量。constGreen指定一个数值型常数,值域为 0.255,指示在自定义色中绿色的数量。constBlue指定一个数值型常数,值域为 0.255,指示在自定义色中蓝色的数量。返回值:该函数返回一个调用 SetColor 和 SetTitle 时可被使用的自定义颜色的数值。2.8 SetColor 语法:SetColor (nObject, nColor);说明:SetColor 函数设置主安装窗口的背景色。参数:nObject指定要改变的用户界面对象。在该参
31、数位置传递下列预定义的常量:BACKGROUND指示安装窗口的背景。缺省颜色为纯深青色(solid teal ):RGB(0,128,128) 。nColor为背景指定一种颜色。对于一种过渡背景色,可传递下列常量之一:BK_BLUE、BK_GREEN、BK_MAGENTA、BK_ORANGEBK_PINK、BK_RED、BK_YELLOW 对于一种纯背景色,可传递下列常量之一:BK_SOLIDBLACK、BK_SOLIDBLUE 、BK_SOLIDGREEN 、BK_SOLIDMAGENTABK_SOLIDORANGE、BK_SOLIDPINK 、BK_SOLIDRED、BK_SOLIDWHI
32、TEBK_SOLIDYELLOW对于一种自定义颜色,可在该参数位置传递 RGB 函数。为了在使用自定义颜色绘制背景时得到光滑的效果(过渡) ,可将该颜色与预定义常量 BK_SMOOTH 按位或。注意当 256 色有效时光滑效果将更好。返回值:0:表明函数成功设置对象的颜色。 0:表明函数未能设置用户界面对象的颜色。注解:当使用一个 RGB 值时,你可以应用 Microsoft Windows 的编程指南中描述的相同的方法。你可以指定 RED、GREEN、BLUE 颜色的混合来“混合”颜色。用从 0 到 255 的数之一来表示使用颜色的数量。在 RGB 宏中的参数必须使用字面数值。你可以使用一个
33、表示 RGB 颜色的长整型数来代替 RGB语句。2.9 SetDialogTitle 语法:SetDialogTitle (nDialogId, szTitle);说明:SetDialogTitle 函数改变显示在一些公用内部对话框标题栏的标题。用参数 nDialogId 指定对话框。如果你不使用 SetDialogTitle,InstallShield 显示缺省标题。一旦你为某一特定对话框设置了标题,除非你再次使用 SetDialogTitle 改变标题,否则 InstallShield 在每一个该类型对话框的实例中都使用该标题。参数:nDialogId标识标题要被改变的内部对话框。在该参数
34、位置传递下列预定义常量之一:DLG_ASK_OPTIONS:改变 AskOptions 对话框标题。DLG_ASK_PATH:改变 AskPath 对话框标题。DLG_ASK_TEXT:改变 AskText 对话框标题。DLG_ASK_YESNO:改变 AskYesNo 对话框标题。DLG_ENTER_DISK:改变 EnterDisk 对话框标题。DLG_MSG_INFORMATION:改变信息风格的消息框的标题。DLG_MSG_SEVERE:改变严重警告风格的消息框的标题。DLG_STATUS:改变对话风格进度指示器的标题。在带 DLG_STATUS 选项调用 SetDialogTitle
35、 后,为了使标题修改有效,你必须通过调用 Enable(STATUSDLG)来重新激活该对话风格进度指示器。DLG_MSG_WARNING:改变警告风格的消息框的标题。DLG_USER_CAPTION:当你使用用户定义的消息框风格时改变消息框的标题。szTitle指定新标题。返回值:0:表明函数成功修改了对话框标题。 0:表明函数未能修改对话框标题。注解:你必须为每种你希望修改其标题的对话框分别调用 SetDialogTitle。InstallShield 使用标准 Windows 消息框函数创建消息框。Windows 为这些消息框确定 Ok 和 Cancel 按扭文字。InstallShie
36、ld 不能控制在 Windows 消息框中使用的按扭文字。2.10 SetDisplayEffect 语法:SetDisplayEffect (nEffect);说明:SetDisplayEffect 函数指定用 PlaceBitmap 函数显示位图文件或图元文件时使用的显示效果。一旦显示效果被设定,所有随后由 PlaceBitmap 显示的位图文件将一直使用该效果显示,直到另一个对SetDisplayEffect 的调用来设定一个新的显示效果。参数:nEffect指定一个显示效果。在该参数位置传递下列预定义的常量之一。注意这些常量具有互斥性;它们相互之间不能使用按位或。而且,当用 Place
37、Bitmap 显示一个位图文件时指定了 BITMAPICON、 FULLSCREEN、 FULLSCREENSIZE 或 TILED 时该参数无效:EFF_FADE:位图或布告牌淡入淡出。EFF_REVEAL:位图或布告牌逐渐从中央向四周填充。EFF_HORZREVEAL:位图或布告牌从它的中央逐渐水平滚动出来。EFF_HORZSTRIPE:位图或布告牌的一部分从外往里水平填充,然后剩余部分从中央部分往外填充。EFF_VERTSTRIPE:位图或布告牌的一部分从外往里垂直填充,然后剩余部分从中央部分往外填充。EFF_BOXSTRIPE:位图或布告牌的一部分从四周向里填充,剩余部分向四周填充。E
38、FF_NONE:该选项是缺省设置。使用它来清除调用其它任一选项后的显示效果。只有 EFF_REVEAL 和 EFF_HORZREVEAL 可用于图元文件。返回值:0:表明函数成功设置显示效果。 0:表明函数未能设置显示效果。注解:当位图是由 PlaceBitmap 带选项 BITMAPICON、FULLSCREEN、FULLSCREENSIZE 或 TILED 显示时,该位图不会按显示效果显示,而是正常显示。更多的信息可查阅 PlaceBitmap。显示效果仅当放置位图时出现,当删除位图时不能使用显示效果。只有展示(EFF_REVEAL)和水平展示( EFF_HORZREVEAL)效果可用于图
39、元文件。2.11 SetErrorMsg语法:SetErrorMsg (nErrorID, szText);说明:SetErrorMsg 函数定制 InstallShield 缺省错误信息。你可以使用该函数来指定显示这些错误信息的消息框的标题文本。参数:nErrorID指定要替换的错误信息。在该参数位置传递下列预定义的常量之一:ERR_BOX_BADPATH:当 EnterDisk 检测到一个由用户输入的错误路径时显示该信息。ERR_BOX_BADTAGFILE:当 EnterDisk 检测到指定的标签文件不存在于磁盘上时显示该信息。ERR_BOX_DISKID:当 EnterDisk 检测到
40、由用户指定的驱动器不存在时显示该信息。ERR_BOX_DRIVEOPEN:当 EnterDisk 检测到磁盘驱动器未关闭时显示该信息。szText指定要在消息框中显示的错误信息。返回值:0:表明函数成功改变错误信息。 0:表明函数未能改变错误信息。2.12 SetErrorTitle 语法:SetErrorTitle (nErrorID, szText);说明:SerErrorTitle 函数指定 InstallShield 内部错误消息框标题栏的自定义文本。你可以使用该函数来自定义错误消息文本。参数:nErrorID指定标题要被替换的错误消息框。在该参数位置传递下列预定义的常量之一:ERR_
41、BOX_BADPATH:当 EnterDisk 检测到错误路径时显示该消息。ERR_BOX_BADTAGFILE:当 EnterDisk 检测到指定的标签文件不存在于磁盘上时显示该消息。ERR_BOX_DISKID:当 EnterDisk 检测到指定的驱动器不存在时显示该消息。ERR_BOX_DRIVEOPEN:当 EnterDisk 检测到磁盘驱动器未关闭时显示该消息。szText指定显示在错误消息框中的标题。返回值:0:表明函数成功修改了标题栏的文本。 0:表明函数未能修改标题栏的文本。2.13 SetFont语法:SetFont (nItemID, nFontStyle, szFontN
42、ame);说明:SetFont 函数设置显示的正文串的字体和风格。你可以在该函数使用标准 Windows字体。参数:nItemID指定其字体和字体风格要被设置的项。在该参数位置传递下列预定义的常量:FONT_TITLE:指定安装过程的主标题,该主标题显示在安装窗口的左上角。nFontStyle指定字体风格。在该参数位置传递下列预定义的一个或多个常量。除 STYLE_NORMAL 之外的所有常量可以用按位或来指定多种风格:STYLE_NORMAL:没有加粗、倾斜或阴影(不能被按位或) 。STYLE_BOLD:字体加粗。STYLE_ITALIC:字体倾斜。STYLE_SHADOW:字体有阴影底纹。STYLE_UNDERLINE:加下划线。szFontName指定一个有效的 Windows 字体的名称。有效的字体名称包括 Courier, Helv, Helvetica, Modern, Roman, Script, Terminal, Times 和 TmsRmn。如果指定的字体没有找到指定的风格,就使用 Arial。