1、05 InstallShield内部库函数全集五Sd对话框函数中文版InstallShield内部库函数全集五Sd对话框函数(中文版)未分类 查看279次5 Sd对话框函数 InstallShield提供一些Sd对话框函数,用户可自定义和显示。Sd对话框使用可以创建用户输入的对话框的特殊脚本定义函数来创建。然后该对话框根据所作选择返回值给脚本。 Sd对话框有一个Cancel按钮,当它被选中时不返回一个CANCEL值。而是调用缺省的退出处理。下面是所有有效的Sd对话框函数的列表:DialogSetInfo改变由一些内部对话框函数呈现的对话框的显示元素。SdAskDestPath呈现一个对话框,允
2、许最终用户指定安装的一个目标位置。SdAskOptions创建一个对话框,它比标准AskOptions函数更灵活。SdAskOptionsList呈现一个对话框,允许最终用户选定和撤消选定一个列表中的项目。SdBitmap在对话框中显示一个位图。SdComponentDialog显示一个对话框,允许最终用户选择安装的组件和目标文件夹。SdComponentDialog2显示一个对话框,允许最终用户选择要安装的文件夹、组件和子部件。SdComponentDialogAdv显示一个对话框,允许最终用户选择安装的组件和目标文件夹。SdComponentMult显示一个对话框,允许最终用户选择安装的组
3、件和子部件。有关磁盘空间的附加信息也被提供来确定安装的最佳位置。SdComponentTree显示一个有树形控制控件的对话框,允许最终用户选择安装的组件和子部件。有关磁盘空间的附加信息也被提供来确定安装的最佳位置。SdConfirmNewDir提示用户确认文件夹的选择。SdConfirmRegistration提示最终用户确认输入到由SdRegisterUser或SdRegisterUserEx呈现对话框中的信息。SdDisplayTopics显示主题列表。SdExceptions显示一个对话框,通知最终用户遇到一个共享、锁定(在使用中)或只读文件。SdFinish显示一个对话框,通知最终用户
4、安装完成并提供一个选项的选择,如是否要查看信息文件或运行一个应用程序。SdFinishEx显示一个对话框,通知最终用户安装完成。SdFinishReboot显示一个对话框,通知用户安装完成并提供一个重启Windows 和计算机选项的选择。SdInit准备一个调用Sd对话框函数的安装。SdLicense显示一个许可证协议并给最终用户一个接受或拒绝许可证条款的选项。SdLoadString返回和一个指定资源ID相联系的字符串值。SdMakeName创建一个自定义对话框的节名。该节名在向一个 .iss文件写或从一个.iss文件读时使用。.iss文件由 InstallShield Silent使用。S
5、dOptionsButtons显示一个有用户定义按钮的对话框,提供给最终用户不同选择。SdProductName在脚本对话框的特定静态区中插入你的产品名。SdRegisterUser显示一个可输入用户名和公司名的对话框。SdRegisterUserEx显示一个对话框,最终用户可在里面输入用户姓名、公司名称和应用程序序列号。SdSelectFolder呈现一个对话框,允许最终用户从程序文件夹列表中选择一个文件夹。SdSetupType显示一个对话框,使最终用户能选择三种标准安装类型之一:典型、简易或自定义。SdSetupTypeEx显示一个对话框,允许最终用户选择标准或自定义安装类型。SdSho
6、wAnyDialog显示一个资源DLL的通用对话框。当用SdShowAnyDialog函数显示一个对话框时你不能从最终用户接受任何输入。SdShowDlgEdit1显示一个对话框,它有一个单行的编辑区和其它静态控件。SdShowDlgEdit2显示一个对话框,有两个单行的编辑区和其它静态控件。SdShowDlgEdit3显示一个对话框,有三个单行的编辑区和其它静态控件。SdShowFileMods呈现一个对话框,预览对文件的可能修改并允许最终用户同意修改、拒绝修改或要求将修改写到一个文件中。SdShowInfoList在一个对话框中显示一个可滚动的消息列表。SdShowMsg在一个小窗口中显示
7、一个消息。SdStartCopy呈现一个对话框,显示已经由最终用户指定的选项和设置。SdWelcome显示一个通用欢迎。SdWelcomeMaint显示一个在维护安装开始时使用的对话框。5.1 DialogSetInfo语法:DialogSetInfo (nInfoType, szInfoString, nParameter);说明:DialogSetInfo函数修改下列在InstallShield对话框中显示的元件:显示的图象;得到最终用户选择的复选框的风格;指示有效和所需磁盘空间值的精度。 通过调用DialogSetInfo产生的修改对安装的剩余部分保持为有效或直到它们又被随后的对Dial
8、ogSetInfo的调用修改。如果你的脚本在调用任何Sd对话框函数前调用DialogSetInfo,在 DialogSetInfo的调用前必须先调用SdInit。否则,对DialogSetInfo的调用无效。参数:nInfoType指定要修改的显示特征。在该参数位置传递下列预定义的常量之一:DLG_INFO_USEDECIMAL:缺省时,显示的指示组件大小、有效磁盘空间和所需磁盘空间的值被四舍五入到最近的KB或MB。下列对话框受该参数影响:ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和
9、SdComponentMult。DLG_INFO_KUNITS:缺省时,显示的指示组件大小、有效磁盘空间和所需磁盘空间的值以KB为度量。传递该参数同时nParameter设置为FALSE时则以MB为度量显示这些值。下列对话框受该参数影响:SdComponentTree, ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和SdComponentMult。DLG_INFO_ALTIMAGE:指定一个显示在该对话框中的候选位图。如果nParameter设置为TRUE,szInfoString必须
10、指定在该对话框显示的图象。该参数应用于所有在对话框右上角显示标准安装图象的InstallShield对话框(和图象显示在对话框左边一个大图象的右上角的Welcome, SdWelcome和SdFinish对话框)。更多的信息可查看下面参数nParameter处描述的“当nInfoType是DLG_INFO_ALTIMAGE”。 由SetDisplayEffect设置的显示效果不能应用到交替图象,通常它们显示时没有任何特殊效果.DLG_INFO_CHECKSELECTION:指定选择方法将由nParameter传递的常量确定。注意SdComponentTree不支持改变复选框类型。szInfoS
11、tring当DLG_INFO_ALTIMAGE传递给nInfoType时,该参数指定要显示的候选位图的文件名和一组位图属性(可选)。如果包括了位图属性,传递给该参数的字符串必须如下格式化:“位图文件名;透明标志;透明色”位图文件名:指定位图文件名。如果文件名未限定(也就是说,如果它不包括一个驱动器指示符和路径),InstallShield在SUPPORTDIR查找该位图。透明标志:指示是否透明显示位图。当该标志是1(真)时,该位图中所有其颜色是由szInfoString的透明色参数指定的RGB值的部分都透明显示。该参数缺省为0(非透明)。未用:格式行的这些部分都被忽略,但它们必须被包括。也就是
12、说,格式行串必须包括四个分号,三个分号在透明标志和透明色之间。透明色:指示透明显示的颜色。透明色必须用一个RGB值来表示,也就是,三个数值型值由逗号分隔。如果没有指定值,即使透明标志设置为1,位图也不会被透明显示。 下面的例子将显示MyBitmap.bmp文件的位图,它位于SUPPORTDIR文件夹。位图所有黑色部分(RGB值为0,0,0)将被透明显示。MyBitmap.bmp;1;0,0,0注意:标准位图为5753。一个候选位图必须也约是这个大小。如果位图大于这个大小,它会在标题区中垂直置中,位图的右边将和对话框的右边对齐。(在Welcome, SdWelcome, 和 SdFinish对话
13、框中,位图的右边将和它所呈现在的更大的位图的右边对齐)。位图左边将尽可能扩展到对话框左边。位图扩展在对话框标题区下的任何部分将被剪切掉。如果位图小于5753,它将被正确显示,但它将不被调整大小或被扩展。 当缺省位图被重新装入或nInfoType不是DLG_INFO_ALTIMAGE时该参数被忽略nParameter和nInfoType相联系一起来指定对话框特性。当nInfoType是DLG_INFO_CHECKSELECTION时,传递下列预定义常量之一来指定复选框风格:CHECKBOX:指定Windows 3.1风格的复选框。CHECKBOX95:指定标准(Windows 95 风格)复选框
14、。如果不调用DialogSetInfo,这是缺省的复选框风格。CHECKLINE:指定复选行风格的复选框。CHECKMARK:指定复选标记风格的复选框。当nInfoType是DLG_INFO_ALTIMAGE,传递下列预定义常量之一来指定显示位图:-1:指定对话框必须显示缺省位图。TRUE:指定由szInfoString指示的位图必须在随后的对话框中使用,就如前面在szInfoString下描述的一样。当nInfoType是DLG_INFO_KUNITS 或DLG_INFO_USEDECIMAL时,传递下列预定义常量之一来指定大小如何显示:TRUE:指定大小按照nInfoType指示的显示。F
15、ALSE:指定大小按照缺省风格显示。返回值:0表明函数成功设置了指定的风格。 0表明函数未能设置该风格。注解:为预览调用DialogSetInfo的效果,运行InstallShield范例,改变对话框的属性(通过单击属性按钮),然后检验如SdComponentDialog2和 SdComponentMult的对话框的改变。每次你要改变一个对话框的细节方面时都必须调用DialogSetInfo。你可以使用DLG_INFO_ALTIMAGE参数来激活16色、256色或真彩色(24位)的位图。注意当256色的位图在16色系统中显示或真彩色位图在256色系统中显示时会有颜色失真。建议你指定一与目标系统
16、的颜色模式兼容的候选图象。5.2 SdAskDestPath语法:SdAskDestPath (szTitle, szMsg, svDir, nReserved);说明:SdAskDestPath函数创建一个对话框,允许最终用户选择一个候选目标路径。当你单击对话框中的浏览按钮,SelectDir函数被调用来打开一个二次对话框使最终用户可以选择一个存在的文件夹或输入一个新的文件夹名。参数:szTitle指定对话框标题。为显示缺省标题(“选择文件夹”) ,给该参数传递一个空字符串(”)。szMsg指定显示在对话框的文本。该文本被考虑为一个静态控件。在你的消息字符串中使用%P位置夹来插入已经由先前的
17、一个对SdProductName的调用指定的产品名称(如果有)。为显示对话框的缺省指示,传递一个空字符串(“”)。svDir指定缺省选定的目录名。返回由最终用户选定的目录名。nReserved给该参数传递0。不允许其它值。返回值:NEXT (1):指定Next按钮被单击。BACK (12):指定Back按钮被单击。注解:运行在静止方式的安装程序必须创建在调用SdAskDestPath前不存在的新文件夹。这样可以确保确认对话框不被显示。没有这一步骤,则需要两个响应文件来处理两种可能情况。5.3 SdAskOptions语法:SdAskOptions (szTitle, szMsg1, szMsg
18、2, szId, szComponents, nExclusiveFlag);说明:SdAskOptions 函数创建一个对话框,提供安装选项。你可以使用复选框或单选钮作为选择按钮。显示在按钮旁边的信息从一组选项中检索得到。选项的缺省数目是4。必要时你可以增加或减去组中选项的数目。 SdAskOptions运行于由系统变量MEDIA指定的当前媒体上。在安装的初始化中,InstallShield给MEDIA赋缺省媒体名(“DATA”),它和你的文件媒体库(Data1.cab)相联系。为显示脚本创建的组件,可按4.6中的相同步骤进行:如果你的安装不使用一个安装类型的对话框,你必须在调用SdAskO
19、ptions之前调用ComponentSetupTypeSet来指定一个已经在IDE安装类型窗格中定义的安装类型系统变量MEDIA的值在安装初始化过程中被设置为DATA。如果你改变该变量的值来指向一个脚本创建组件组,你必须在调用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前将值修改回DATA。注意运行一个基于事件的脚本的安装中,ComponentTransferData被自动调用。参数:szTitle指定对话框标题。为显示缺省标题(“选择组件”) ,给该参数传递一个空字符串(”)。szMsg1指定显示在对话框的消息
20、。该静态区的ID是801。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。szMsg2指定在对话框显示的一个二次消息。该静态区的ID是802。SzId指定一个候选数值型对话框ID。仅使用以字符串形式表示的数值型ID(例如,ID 13001 为“13001”)。你可以拷贝SdAskOptions对话框资源,对它做有限的修改,给它一个唯一数值型ID,并通过以字符串传递它的ID给szId来调用对话框。参考下面的注解部分。为创建标准的四选项的SdAskOptions对话框,给该参数传递一个空字符串(“”)。szComponents指定要显示的包含子部件的组件名称。子部件前面有复选框或单选钮
21、。为显示所有顶层组件,给该参数传递一个空字符串(”)。SdAskOptions在由系统变量MEDIA指定的文件媒体库或脚本创建组件组中查找所需组件。nExclusiveFlag指定你要在对话框中显示的按钮类型。在该参数位置传递下列预定义常量之一:EXCLUSIVE:指定单选钮。NONEXCLUSIVE:指定复选框。如果你的安装包括必需的可见的组件,不要调用SdAskOptions来得到安装选项。而是,以非静止方式调用ComponentDialog, SdComponentDialog, SdComponentDialogAdv, SdComponentMult 或SdAskOptionsLis
22、t。必需组件可以这么理解:当活动组件(在组件窗格中被选择的组件)被安装时,你要添加组件到必须被安装的组件列表中或从该组件列表中删除组件。其中控件有:所需组件(列表框):列出活动组件要求的组件。组件(列表框):列出所有定义的组件。活动组件有一个复选标记;所需组件有一个红圈和斜杠。添加(按扭):将在组件列表框中选定的组件添加到所需组件列表框中。删除(按扭):从所需列表框中删除选定的组件。返回值:NEXT (1):表明单击了Next按钮。BACK (12):表明单击了Back按钮。注解:你可以通过使用资源编辑器拷贝SdAskOptions对话框资源(位于_isres.dll),对拷贝作有限的修改,并
23、给它一个唯一ID来创建多个SdAskOptions类型的对话框。当你调用SdAskOptions并在参数szId传递对话框的自定义拷贝时,自定义拷贝被显示。限制对存在的静态文本区作编辑修改和增加静态文本区。不建议添加需要处理程序的控件,因为它需要改变SdAskOptions的资源脚本。5.4 SdAskOptionsList语法:SdAskOptionsList (szTitle, szMsg, szComponents, nStyle);说明:SdAskOptionsList函数创建一个对话框,显示一个自定义安装的组件列表。SdAskOptionsList运行在由系统变量MEDIA指定的当前
24、媒体上。在安装的初始化中,InstallShield给MEDIA赋缺省媒体名(“DATA”),它和你的文件媒体库(Data1.cab)相联系。为显示脚本创建的组件,按4.6中的相同步骤进行。系统变量MEDIA的值在安装初始化过程中被设置为DATA。如果你改变该变量的值来指向一个脚本创建组件组,你必须在调用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前将值修改回DATA。注意运行一个基于事件的脚本的安装中,ComponentTransferData被自动调用。如果你的安装不使用一个安装类型对话框,你必须在调用SdAs
25、kOptionsList前调用ComponentSetupTypeSet来指定一个已经在IDE安装类型窗格中定义的安装类型。参数:szTitle指定对话框标题。为显示缺省标题(“选择组件”) ,给该参数传递一个空字符串(”)。szMsg指定对话框中显示的消息。为显示该对话框的缺省指示,给该参数传递一个空字符串(”)。szComponents指定要显示的包含子部件的组件名称。为显示所有顶层组件,给该参数传递一个空字符串。SdAskOptionsList在由系统变量MEDIA指定的文件媒体库或脚本创建组件组中查找所需的组件。nStyle指定最终用户的选择是否受限。在该参数位置传递下列预定义常量之一
26、:EXCLUSIVE:允许最终用户仅从列表中选择一个项目。如果任何szComponents的子部件是所需组件,则不使用EXCLUSIVE模式。NONEXCLUSIVE:允许最终用户从列表中选择多个项目,包括多个非邻接的选项。两个按钮被显示:Select All 和Clear All,,允许通过单击一个按钮选择所有选项或清除所有选项。返回值:NEXT (1):表明单击了Next按钮。BACK (12):表明单击了Back按钮。5.5 SdBitmap语法:SdBitmap (szTitle, szMsg, szBitmap);说明:SdBitmap函数在一个对话框中显示一个位图。位图所允许的最大
27、大小是宽440个像素点、高275个像素点。仅当你使用一个资源编辑器来修改SdBitmap对话框资源使得显示消息的控件成为可见时,你才可以在SdBitmap对话框中显示一个消息,查看下面注解。参数:szTitle指定对话框标题。为显示缺省标题(“欢迎”) ,给该参数传递一个空字符串(”)。szMsg给该参数传递一个空字符串(“”),除非你使用一个资源编辑器修改SdBitmap对话框来显示一个消息,查看下面注解。szBitmap指定要显示的位图的文件名和一组位图属性(可选)。如果包括位图属性,传递给该参数的字符串必须如下格式化:“位图文件名;透明标志3-D标志;背景颜色”位图文件名指定位图文件名。
28、如果文件名未限定(也就是说,如果它不包括一个驱动器指示符和路径),InstallShield在SUPPORTDIR查找该位图。透明标志指示是否透明显示位图。当该标志是1(真)时,该位图所有紫红色(RGB值:255,0,255)部分都透明显示。该参数的缺省值是0(非透明)。3-D 标志指示是否要绕着包含位图的静态区的边缘增加一个3-D边框。缺省为(非D边框)。背景色指示作为静态文本区背景的颜色。 注意该颜色仅当位图小于它所显示在的静态文本区或透明标志设置为1并且位图有透明区域时才会可见。背景色必须以RGB值表示,也就是三个由逗号分隔的数值型的值。下面的例子将从MyBitmap.bmp文件显示位图
29、,它位于SUPPORTDIR文件夹。该位图将被置于一个黑色背景上。它有一个3-D边框。该位图的任何紫红色的部分将被显示为背景色-黑色。 MyBitmap.bmp;1;1;0,0,0返回值:NEXT (1):表明单击了Next按钮。BACK (12):表明单击了Back按钮。注解:你可以使用一个资源编辑器来修改SdBitmap对话框资源,使得一个传递给参数szMsg的消息字符串在SdBitmap对话框中显示。SdBitmap 对话框资源包括在_isres.dll中。该资源包含一个静态文本控件,它接收由参数szMsg传递的字符串。然而,该静态文本控件缺省为在SdBitmap对话框中不可查看(在对话
30、框下)。SdBitmap也使用一个静态文本控件显示位图图象。你可以调整位图图象静态文本控件的大小和移动消息静态文本控件进入对话框来查看。改变位图图象静态文本控制的大小可能影响你位图图象的显示。位图图象必须足够小来避免当它被SdBitmap在位图图象静态文本控制置中时被剪切掉。该函数不支持透明位图。如果你以该函数来使用一个透明位图,透明部分将被正常显示。SdBitmap不支持图元文件。5.6 SdComponentDialog语法:SdComponentDialog (szTitle, szMsg, svDir, szComponents);说明:使用SdComponentDialog函数创建一
31、个对话框。显示当前媒体上用户可以安装的的组件列表和每个组件将占用的磁盘空间。该函数和SdComponentDialogAdv相同。 目标目录可以使用Browse按钮来修改;在其它驱动器上的可用磁盘空间可以使用Disk Space 按钮来检查。SdComponentDialogt运行在由系统变量MEDIA指定的当前媒体上。在安装的初始化中,InstallShield给MEDIA赋缺省媒体名(“DATA”),它和你的文件媒体库(Data1.cab)相联系。为显示脚本创建的组件,按4.6中的相同步骤进行。 如果你的安装不使用一个安装类型的对话框,你必须在调用SdComponentDialog之前调用ComponentSetupTypeSet来指定一个已经在IDE安装类型窗格中定义的安装类型。 系统变量MEDIA的值在安装初始化过程中被设置为DATA。如果你改变该变量的值来指向一个脚本创建组件组,你必须在调用Com
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1