返回值:
NEXT (1):表明最终用户选择NEXT按钮。 BACK (12):表明最终用户选择BACK按钮。 < 0:表明Welcome未能显示对话框。 注解:
·在一个过程脚本中,为使InstallShield可以在欢迎对话框的消息文本的第一段中插入产品名称,你必须在调用Welcome前调用SdProductName。(在一个基于事件的脚本中,在Begin事件前,SdProductName被自动调用,以PRODUCT_NAME字符串表入口为参数)。如果你不使用SdProductName来传递一个产品名称,InstallShield不能插入产品名称而是将插入一个附加的空格。
5 Sd对话框函数
InstallShield提供一些Sd对话框函数,用户可自定义和显示。Sd对话框使用可以创建用户输入的对话框的特殊脚本定义函数来创建。然后该对话框根据所作选择返回值给脚本。
Sd对话框有一个Cancel按钮,当它被选中时不返回一个CANCEL值。而是调用缺省的退出处理。 下面是所有有效的Sd对话框函数的列表: ? ? ? ? ? ? ? ? ?
DialogSetInfo
改变由一些内部对话框函数呈现的对话框的显示元素。 SdAskDestPath
呈现一个对话框,允许最终用户指定安装的一个目标位置。 SdAskOptions
创建一个对话框,它比标准AskOptions函数更灵活。 SdAskOptionsList
呈现一个对话框,允许最终用户选定和撤消选定一个列表中的项目。 SdBitmap
在对话框中显示一个位图。 SdComponentDialog
显示一个对话框,允许最终用户选择安装的组件和目标文件夹。 SdComponentDialog2
显示一个对话框,允许最终用户选择要安装的文件夹、组件和子部件。 SdComponentDialogAdv
显示一个对话框,允许最终用户选择安装的组件和目标文件夹。 SdComponentMult
显示一个对话框,允许最终用户选择安装的组件和子部件。有关磁盘空间的附加信息也被提供来确定安装的最佳位置。 ?
SdComponentTree
显示一个有树形控制控件的对话框,允许最终用户选择安装的组件和子部件。有关磁盘空间的附加信息也被提供来确定安装的最佳位置。 ? ? ? ?
SdConfirmNewDir
提示用户确认文件夹的选择。 SdConfirmRegistration
提示最终用户确认输入到由SdRegisterUser或SdRegisterUserEx呈现对话框中的信息。 SdDisplayTopics 显示主题列表。 SdExceptions
显示一个对话框,通知最终用户遇到一个共享、锁定(在使用中)或只读文件。
? SdFinish
显示一个对话框,通知最终用户安装完成并提供一个选项的选择,如是否要查看信息文件或运行一个
应用程序。 ? ? ? ? ? ?
SdFinishEx
显示一个对话框,通知最终用户安装完成。 SdFinishReboot
显示一个对话框,通知用户安装完成并提供一个重启Windows 和计算机选项的选择。 SdInit
准备一个调用Sd对话框函数的安装。 SdLicense
显示一个许可证协议并给最终用户一个接受或拒绝许可证条款的选项。 SdLoadString
返回和一个指定资源ID相联系的字符串值。 SdMakeName
创建一个自定义对话框的节名。该节名在向一个 .iss文件写或从一个.iss文件读时使用。.iss文件由 InstallShield Silent使用。 ? ? ? ? ? ? ? ?
SdOptionsButtons
显示一个有用户定义按钮的对话框,提供给最终用户不同选择。 SdProductName
在脚本对话框的特定静态区中插入你的产品名。 SdRegisterUser
显示一个可输入用户名和公司名的对话框。 SdRegisterUserEx
显示一个对话框,最终用户可在里面输入用户姓名、公司名称和应用程序序列号。 SdSelectFolder
呈现一个对话框,允许最终用户从程序文件夹列表中选择一个文件夹。 SdSetupType
显示一个对话框,使最终用户能选择三种标准安装类型之一:典型、简易或自定义。 SdSetupTypeEx
显示一个对话框,允许最终用户选择标准或自定义安装类型。 SdShowAnyDialog
显示一个资源DLL的通用对话框。当用SdShowAnyDialog函数显示一个对话框时你不能从最终用户接受任何输入。 ? ? ? ?
SdShowDlgEdit1
显示一个对话框,它有一个单行的编辑区和其它静态控件。 SdShowDlgEdit2
显示一个对话框,有两个单行的编辑区和其它静态控件。 SdShowDlgEdit3
显示一个对话框,有三个单行的编辑区和其它静态控件。 SdShowFileMods
呈现一个对话框,预览对文件的可能修改并允许最终用户同意修改、拒绝修改或要求将修改写到一个文件中。 ?
SdShowInfoList
在一个对话框中显示一个可滚动的消息列表。
? ? ? ?
SdShowMsg
在一个小窗口中显示一个消息。 SdStartCopy
呈现一个对话框,显示已经由最终用户指定的选项和设置。 SdWelcome
显示一个通用欢迎。 SdWelcomeMaint
显示一个在维护安装开始时使用的对话框。
5.1 DialogSetInfo
语法:DialogSetInfo (nInfoType, szInfoString, nParameter);
说明:DialogSetInfo函数修改下列在InstallShield对话框中显示的元件:
? ? ?
显示的图象;
得到最终用户选择的复选框的风格; 指示有效和所需磁盘空间值的精度。
通过调用DialogSetInfo产生的修改对安装的剩余部分保持为有效或直到它们又被随后的对DialogSetInfo的调用修改。如果你的脚本在调用任何Sd对话框函数前调用DialogSetInfo,在 DialogSetInfo的调用前必须先调用SdInit。否则,对DialogSetInfo的调用无效。 参数: nInfoType
指定要修改的显示特征。在该参数位置传递下列预定义的常量之一:
DLG_INFO_USEDECIMAL:缺省时,显示的指示组件大小、有效磁盘空间和所需磁盘空间的值被四舍五入到最近的KB或MB。下列对话框受该参数影响:ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和SdComponentMult。
DLG_INFO_KUNITS:缺省时,显示的指示组件大小、有效磁盘空间和所需磁盘空间的值以KB为度量。传递该参数同时nParameter设置为FALSE时则以MB为度量显示这些值。下列对话框受该参数影响:SdComponentTree, ComponentDialog, SdComponentDialog, SdComponentDialog2, SdComponentDialogAdv 和SdComponentMult。
DLG_INFO_ALTIMAGE:指定一个显示在该对话框中的候选位图。如果nParameter设置为TRUE,szInfoString必须指定在该对话框显示的图象。该参数应用于所有在对话框右上角显示标准安装图象的InstallShield对话框(和图象显示在对话框左边一个大图象的右上角的Welcome, SdWelcome和SdFinish对话框)。更多的信息可查看下面参数nParameter处描述的“当nInfoType是.DLG_INFO_ALTIMAGE”。 由SetDisplayEffect设置的显示效果不能应用到交替图象,通常它们显示时没有任何特殊效果.
DLG_INFO_CHECKSELECTION:指定选择方法将由nParameter传递的常量确定。注意SdComponentTree不支持改变复选框类型。 szInfoString
当DLG_INFO_ALTIMAGE传递给nInfoType时,该参数指定要显示的候选位图的文件名和一组位图属性(可选)。如果包括了位图属性,传递给该参数的字符串必须如下格式化: “位图文件名;透明标志;<未用>;<未用>;透明色”
?
位图文件名:
指定位图文件名。如果文件名未限定(也就是说,如果它不包括一个驱动器指示符和路径),InstallShield在SUPPORTDIR查找该位图。
?
透明标志:
指示是否透明显示位图。当该标志是1(真)时,该位图中所有其颜色是由szInfoString的透明色参数指定的RGB值的部分都透明显示。该参数缺省为0(非透明)。
? 未用:
格式行的这些部分都被忽略,但它们必须被包括。也就是说,格式行串必须包括四个分号,三个分号在透明标志和透明色之间。
?
透明色:
指示透明显示的颜色。透明色必须用一个RGB值来表示,也就是,三个数值型值由逗号分隔。如果没有指定值,即使透明标志设置为1,位图也不会被透明显示。
下面的例子将显示MyBitmap.bmp文件的位图,它位于SUPPORTDIR文件夹。位图所有黑色部分(RGB值为0,0,0)将被透明显示。
\
注意:标准位图为57×53。一个候选位图必须也约是这个大小。如果位图大于这个大小,它会在标题区中垂直置中,位图的右边将和对话框的右边对齐。(在Welcome, SdWelcome, 和 SdFinish对话框中,位图的右边将和它所呈现在的更大的位图的右边对齐)。位图左边将尽可能扩展到对话框左边。位图扩展在对话框标题区下的任何部分将被剪切掉。如果位图小于57×53,它将被正确显示,但它将不被调整大小或被扩展。 当缺省位图被重新装入或nInfoType不是DLG_INFO_ALTIMAGE时该参数被忽略 nParameter
和nInfoType相联系一起来指定对话框特性。 ?
当nInfoType是DLG_INFO_CHECKSELECTION时,传递下列预定义常量之一来指定复选框风格: CHECKBOX:指定Windows 3.1风格的复选框。
CHECKBOX95:指定标准(Windows 95 风格)复选框。如果不调用DialogSetInfo,这是缺省的复选框风格。
CHECKLINE:指定复选行风格的复选框。 CHECKMARK:指定复选标记风格的复选框。 ?
当nInfoType是DLG_INFO_ALTIMAGE,传递下列预定义常量之一来指定显示位图: -1:指定对话框必须显示缺省位图。
TRUE:指定由szInfoString指示的位图必须在随后的对话框中使用,就如前面在szInfoString下描述的一样。 ?
当nInfoType是DLG_INFO_KUNITS 或DLG_INFO_USEDECIMAL时,传递下列预定义常量之一来指定大小如何显示:
TRUE:指定大小按照nInfoType指示的显示。 FALSE:指定大小按照缺省风格显示。 返回值: 0
表明函数成功设置了指定的风格。 表明函数未能设置该风格。
< 0 注解:
·为预览调用DialogSetInfo的效果,运行InstallShield范例,改变对话框的属性(通过单击属性按钮),然后检验如SdComponentDialog2和 SdComponentMult的对话框的改变。 ·每次你要改变一个对话框的细节方面时都必须调用DialogSetInfo。
你可以使用DLG_INFO_ALTIMAGE参数来激活16色、256色或真彩色(24位)的位图。注意当256色的位图在16色系统中显示或真彩色位图在256色系统中显示时会有颜色失真。建议你指定一与目标系统的颜色模式兼容的候选图象。 5.2 SdAskDestPath
语法:SdAskDestPath (szTitle, szMsg, svDir, nReserved);
说明:SdAskDestPath函数创建一个对话框,允许最终用户选择一个候选目标路径。当你单击对话框中的浏览按钮,SelectDir函数被调用来打开一个二次对话框使最终用户可以选择一个存在的文件夹或输入一个新
的文件夹名。 参数: szTitle
指定对话框标题。为显示缺省标题(“选择文件夹”) ,给该参数传递一个空字符串(””)。 szMsg
指定显示在对话框的文本。该文本被考虑为一个静态控件。在你的消息字符串中使用%P位置夹来插入已经由先前的一个对SdProductName的调用指定的产品名称(如果有)。为显示对话框的缺省指示,传递一个空字符串(“”)。 svDir
指定缺省选定的目录名。返回由最终用户选定的目录名。 nReserved
给该参数传递0。不允许其它值。 返回值:
NEXT (1):指定Next按钮被单击。 BACK (12):指定Back按钮被单击。 注解:
·运行在静止方式的安装程序必须创建在调用SdAskDestPath前不存在的新文件夹。这样可以确保确认对话框不被显示。没有这一步骤,则需要两个响应文件来处理两种可能情况。 5.3 SdAskOptions
语法:SdAskOptions (szTitle, szMsg1, szMsg2, szId, szComponents, nExclusiveFlag);
说明:SdAskOptions 函数创建一个对话框,提供安装选项。你可以使用复选框或单选钮作为选择按钮。显示在按钮旁边的信息从一组选项中检索得到。选项的缺省数目是4。必要时你可以增加或减去组中选项的数目。
SdAskOptions运行于由系统变量MEDIA指定的当前媒体上。在安装的初始化中,InstallShield给MEDIA赋缺省媒体名(“DATA”),它和你的文件媒体库(Data1.cab)相联系。为显示脚本创建的组件,可按4.6中的相同步骤进行:
如果你的安装不使用一个安装类型的对话框,你必须在调用SdAskOptions之前调用ComponentSetupTypeSet来指定一个已经在IDE安装类型窗格中定义的安装类型
系统变量MEDIA的值在安装初始化过程中被设置为’DATA’。如果你改变该变量的值来指向一个脚本创建组件组,你必须在调用ComponentTransferData, CreateShellObjects, 或 CreateRegistrySet前将值修改回’DATA’。注意运行一个基于事件的脚本的安装中,ComponentTransferData被自动调用。 参数: szTitle
指定对话框标题。为显示缺省标题(“选择组件”) ,给该参数传递一个空字符串(””)。 szMsg1
指定显示在对话框的消息。该静态区的ID是801。为显示该对话框的缺省指示,给该参数传递一个空字符串(“”)。 szMsg2
指定在对话框显示的一个二次消息。该静态区的ID是802。 SzId
指定一个候选数值型对话框ID。仅使用以字符串形式表示的数值型ID(例如,ID 13001 为“13001”)。你可以拷贝SdAskOptions对话框资源,对它做有限的修改,给它一个唯一数值型ID,并通过以字符串传递它的ID给szId来调用对话框。参考下面的注解部分。为创建标准的四选项的SdAskOptions对话框,给该参数传递一个空字符串(“”)。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库内部库函数 - 图文(7)在线全文阅读。
相关推荐: