06 InstallShield内部库函数全集六自定义对话框函数中文版.docx

上传人:b****8 文档编号:11407465 上传时间:2023-02-28 格式:DOCX 页数:15 大小:25.17KB
下载 相关 举报
06 InstallShield内部库函数全集六自定义对话框函数中文版.docx_第1页
第1页 / 共15页
06 InstallShield内部库函数全集六自定义对话框函数中文版.docx_第2页
第2页 / 共15页
06 InstallShield内部库函数全集六自定义对话框函数中文版.docx_第3页
第3页 / 共15页
06 InstallShield内部库函数全集六自定义对话框函数中文版.docx_第4页
第4页 / 共15页
06 InstallShield内部库函数全集六自定义对话框函数中文版.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

06 InstallShield内部库函数全集六自定义对话框函数中文版.docx

《06 InstallShield内部库函数全集六自定义对话框函数中文版.docx》由会员分享,可在线阅读,更多相关《06 InstallShield内部库函数全集六自定义对话框函数中文版.docx(15页珍藏版)》请在冰豆网上搜索。

06 InstallShield内部库函数全集六自定义对话框函数中文版.docx

06InstallShield内部库函数全集六自定义对话框函数中文版

InstallShield内部库函数全集六-自定义对话框函数(中文版)

未分类查看234次

6 自定义对话框函数

   下列函数处理自定义对话框进程。

你使用一个资源编辑器来创建对话框并可用这些函数把它插入脚本中。

   任何你可以创建的Windows对话框都可以被使用在一个安装脚本中。

对话框可以有单行或多行编辑框,单个或多个选择列表框,组合框,单选钮,复选框和下按按扭作为标准控件。

对于更复杂的控件,则提供高级函数,如CmdGetHwndDlg,LOWORD和HIWORD。

CmdGetHwndDlg

检索一个对话框的句柄。

CtrlClear

删除一个编辑、静态、列表框或组合框控件。

CtrlDir

用一个目录列表或一个文件列表来填充一个列表框或组合框。

CtrlGetCurSel

从一个列表框或组合框中选择项目。

CtrlGetMLEText

从一个多行编辑或静态区域中检索文本。

CtrlGetMultCurSel

从一个多选列表框中返回选定项目。

CtrlGetState

从一个对话框中检索一个单选扭,复选框或下按按扭控件的状态。

CtrlGetSubCommand

检索在一个WaitOnDialog函数调用后对控件执行的操作。

CtrlGetText

从一个编辑区,一个静态区或一个组合框的编辑区中检索文本。

CtrlPGroups

检索在目标系统上存在的程序组列表。

CtrlSelectText

选择显示在一个编辑区中文本。

CtrlSetCurSel

在一个列表框或组合框中查找和设置当前选择。

CtrlSetFont

指定对话框中一个控件的字体。

CtrlSetList

把一个列表的内容放至一个列表框或组合框中。

CtrlSetMLEText

设置在一个多行编辑区中的文本。

CtrlSetMultCurSel

设置在一个多选列表框中的当前选择。

CtrlSetState

设置一个复选框,单选钮或下按按扭的当前状态。

CtrlSetText

设置在一个编辑区,一个静态文本区或一个组合框的编辑区中的文本。

DefineDialog

用InstallShield注册一个自定义对话框。

EndDialog

关闭一个自定义对话框。

EzDefineDialog

用InstallShield注册一个自定义对话框。

GetFont

检索一个字体的处理程序。

HIWORD

从一个32位的整数中检索高位字。

LOWORD

从一个32位的整数中检索低位字。

ReleaseDialog

释放一个对话框的关联内存。

SdMakeName

SdMakeName为一个自定义对话框创建一个节名。

该节名在向一个.iss文件写或从一个.iss文件中读时使用,.iss文件由InstallShieldSilent使用。

SilentReadData

指示InstallShieldSilent为一个自定义对话框读取.iss文件对话数据。

SilentWriteData

指示InstallShieldSilent为一个自定义对话框写对话数据到.iss文件。

WaitOnDialog

显现一个自定义对话框。

6.1 CmdGetHwndDlg

语法:

CmdGetHwndDlg(szDialogName);

说明:

CmdGetHwndDlg函数检索由szDialogName标识的对话框的窗口句柄。

该对话框必须已经由EzDefineDialog(或DefineDialog)定义,并以通过调用WaitOnDialog而被初始化。

参数:

szDialogName

指定已经由EzDefineDialog(或DefineDialog)定义的对话框的名称。

返回值:

>0:

由szDialogName指定的对话框的窗口句柄。

<0:

CmdGetHwndDlg未能检索到句柄。

请确认szDialogName指向的是一个已经正确定义并已被初始化的对话框。

注解:

·当一个对话框用WaitOnDialog函数初始化时,则为它分配一个窗口句柄;该句柄只和该对话框关联,直到一个对EndDialog的调用来关闭该对话框。

如果你调用WaitOnDialog来打开在你脚本中先前已经被打开和关闭的一个对话框,你必须再次调用CmdGetHwndDlg来得到新句柄。

老的句柄不再有效。

·通常,CmdGetHwndDlg在一个自定义对话框的DLG_INIT例程中被调用。

该对话框的句柄被赋给HWND变量来供其它需要它的函数使用。

6.2 CtrlClear

语法:

CtrlClear(szDialogName,nControlID);

说明:

CtrlClear函数清除各种控件的内容;它删除一个自定义对话框中一个单行或多行编辑区,静态文本区,单或多选列表框或一个组合框的编辑区的内容。

参数:

szDialogName

指定包含有要被删除控件的对话框的名称。

nControlID

指定由szDialogName标识的对话框的控件ID。

返回值:

0:

CtrlClear成功删除指定控件的内容。

<0:

CtrlClear未能删除对话框的内容。

6.3 CtrlDir

语法:

CtrlDir(szDialogName,nControlID,szDir,nItems);

说明:

CtrlDir函数用一个与szDir指定的路径或文件名相匹配的文件列表来填充一个列表框或一个组合框控件。

你可以在列表中包括文件名,子目录名和磁盘驱动器名。

CtrlDir函数仅工作于自定义对话框。

参数:

szDialogName

指定一个对话框的名称。

nControlID

指定列表框或组合框控件的资源ID。

szDir

指定全限定路径或全限定文件名,可以包括通配符。

nItems

指定在控件中显示的列表的类型。

在该参数位置传递下列预定义常量之一。

为包含多个元素类型,将这些常量用按位或操作符(|)组合起来:

DLG_DIR_FILE:

创建一个与文件说明szDir匹配的文件的列表。

DLG_DIR_DIRECTORY:

创建一个存在于路径说明szDir中的子目录的列表。

DLG_DIR_DRIVE:

创建一个驱动器列表。

返回值:

0:

CtrlDir成功填充一个对话框中指定的控件。

<0:

CtrlDir未能填充指定控件。

6.4 CtrlGetCurSel

语法:

CtrlGetCurSel(szDialogName,nControlID,svText);

说明:

CtrlGetCurSel函数从一个自定义对话框中的一个单选列表框或组合框控件中检索当前选定的项目。

调用CtrlGetMultCurSel来从多选列表框中检索项目。

参数:

szDialogName

指定包含要被检索的项目的自定义对话框的名称。

nControlID

指定单选框或组合框控件的资源ID。

svText

返回nControlID指定的控件中当前被选定的项目。

返回值:

0:

CtrlGetCurSel成功检索对话框中当前被选定的项目。

<0:

CtrlGetCurSel未能检索被选定的项目。

6.5 CtrlGetMLEText

语法:

CtrlGetMLEText(szDialogName,nControlID,listID);

说明:

CtrlGetMLEText函数检索一个自定义对话框中一个多行编辑控件的内容。

InstallShield把多行编辑区中的每行放到由listID标识的一个字符串列表中。

调用CtrlGetText来检索一个单行编辑区控件的内容。

参数:

szDialogName

指定一个自定义对话框的名称,该对话框包含了其内容要被检索的多行编辑控件。

nControlID

指定多行编辑控件的资源ID。

listID

返回nControlID标识的编辑区中的行的一个字符串列表。

由listID标识的字符串列表必须已经通过调用ListCreate而被初始化。

返回值:

0:

CtrlGetMLEText成功检索一个多行编辑区的内容。

<0:

CtrlGetMLEText未能检索控件的内容。

6.6 CtrlGetMultCurSel

语法:

CtrlGetMultCurSel(szDialogName,nControlID,listID);

说明:

CtrlGetMultCurSel函数检索一个多选列表框控件中的当前被选定的行。

多选列表框的每个被选定行被放到由listID标识的一个字符串列表中。

为从一个单选列表框控件中检索被选定的文本,调用CtrlGetCurSel。

CtrlGetMultCurSel只使用于自定义对话框。

参数:

szDialogName

指定一个自定义对话框的名称,该对话框包含了其内容要被检索的列表框控件。

nControlID

指定多行编辑控件的资源ID。

listID

返回由nControlID标识的列表框中的行。

由listID标识的字符串列表必须已经通过调用ListCreat而被初始化。

返回值:

0:

CtrlGetMultCurSel成功检索当前选定项目。

<0:

CtrlGetMultCurSel未能检索项目。

6.7 CtrlGetState

语法:

CtrlGetState(szDialogName,nControlID);

说明:

CtrlGetState函数得到一个自定义对话框中一个复选框或单选钮的当前状态。

参数:

szDialogName

指定包含该控件的对话框的名称。

nControlID

指定其状态要被检索的复选框或单选钮的资源ID。

返回值:

BUTTON_CHECKED(-1001):

复选框或单选钮被选定。

BUTTON_UNCHECKED(-1002):

复选框或单选钮未被选定。

DLG_ERR(-1):

CtrlGetState不能确定控件状态。

6.8 CtrlGetSubCommand

语法:

CtrlGetSubCommand(szDialogName);

说明:

CtrlGetSubCommand函数检索对一个自定义对话框中的一个控件所执行的操作。

例如,CtrlGetSubCommand可以告诉你用户单击或双击了一个列表框或组合框控件。

它也可以告诉你一个编辑区的内容被修改了。

   高级开发人员可以调用CmdGetHwndDlg来处理附加信息。

参数:

szDialogName

指定自定义对话框的名称。

返回值:

EDITBOX_CHANGE(-1007):

编辑框的内容已经改变。

LISTBOX_ENTER(-1008):

用户双击了一个列表框项目。

LISTBOX_SELECT(-1009):

用户单击了一个列表框项目。

6.9 CtrlGetText

语法:

CtrlGetText(szDialogName,nControlID,svText);

说明:

CtrlGetText函数从一个自定义对话框中的一个编辑区,静态文本区或按扭控件中检索文本。

为从多行编辑区控件中检索文本,调用CtrlGetMLEText。

参数:

szDialogName

指定一个对话框的名称,该对话框包含了其文本要被检索的区域或控件。

nControlID

指定编辑区,静态文本区或下按按扭控件的资源ID。

svText

从由nControlID标识的控件或区域中返回的文本。

返回值:

0:

CtrlGetText成功检索控件的内容。

<0:

CtrlGetText未能检索内容。

6.10 CtrlPGroups

语法:

CtrlPGroups(szDialogName,nControlID);

说明:

CtrlPGroups函数将一个现存程序文件夹列表放到一个列表框或组合框控件中。

该函数仅工作于自定义对话框。

参数:

szDialogName

Specifiesthenameofacustomdialogboxthatcontainsthecontroltouse.

指定自定义对话框的名称,该对话框包含要使用的控件。

nControlID

指定一个列表框或组合框控件的资源ID。

返回值:

0:

CtrlPGroups成功把指定的程序文件夹列表放到控件中。

<0:

CtrlPGroups未能把指定的程序文件夹列表放到控件中。

6.11 CtrlSelectText

语法:

CtrlSelectText(szDialogName,nControlID);

说明:

CtrlSelectText函数选定一个编辑区或一个组合框的编辑区中的所有文本。

如果该控件是一个多行编辑区,该函数选定所有行的所有文本。

该函数仅工作于自定义对话框。

参数:

szDialogName

指定一个有效对话框的名称,该对话框包含要被选定的编辑区。

nControlID

指定要被选定的编辑区或组合框控件的资源ID。

返回值:

0:

CtrlSelectText成功选定了区域中的所有文本。

<0:

CtrlSelectText未能选定文本。

6.12 CtrlSetCurSel

语法:

CtrlSetCurSel(szDialogName,nControlID,szText);

说明:

CtrlSetCurSel函数在指定的列表框或组合框控件中查找一个字符串。

如果找到,CtrlSetCurSel选定(高亮显示)该项目。

对多选列表框和组合框则调用CtrlSetMultCurSel。

CtrlSetCurSel函数仅使用于自定义对话框。

参数:

szDialogName

指定一个有效自定义对话框的名称,该对话框包含要被查找的控件。

nControlID

指定包含查找字符串的控件的资源ID。

szText

指定查找字符串。

如果该字符串被找到,则被选定(高亮显示)。

返回值:

0:

CtrlSetCurSel成功找到和选定了指定的字符串。

<0:

CtrlSetCurSel未能找到和选定指定的字符串。

6.13 CtrlSetFont

语法:

CtrlSetFont(szDialogName,hFont,nControlID);

说明:

CtrlSetFont函数指定一个自定义对话框中一个控件的字体。

在对话框消息处理循环中的DLG_INIT例程中调用该函数。

参数:

szDialogName

指定一个有效对话框的名称。

hFont

指定已经通过调用GetFont而被创建的一个字体的处理程序。

nControlID

指定其字体要被设置的控件的资源ID。

为给对话框中的所有控件设置字体,给该参数传递预定义常量ALLCONTROLS。

返回值:

0:

CtrlSetFont成功在一个对话框中设置所要求的字体。

<0:

CtrlSetFont未能在一个对话框中设置所要求的字体。

6.14 CtrlSetList

语法:

CtrlSetList(szDialogName,nControlID,listID);

说明:

CtrlSetList函数把一个字符串列表中的内容放到指定的单或多选列表框或组合框控件中。

任何原先存在的内容被包含在listID中的项所置换。

InstallShield将字符串列表中的每个元素放到列表框或组合框控件中的每个元素中。

参数:

szDialogName

指定包含列表框或组合框的对话框的名称。

nControlID

指定列表框或组合框的资源ID。

listID

指定一个字符串列表的名称,该列表包含要被拷贝到列表框或组合框控件中的元素。

返回值:

0:

CtrlSetList成功将字符串的内容放到控件中。

<0:

CtrlSetList未能将字符串的内容放到控件中。

6.15 CtrlSetMLEText

语法:

CtrlSetMLEText(szDialogName,nControlID,listID);

说明:

CtrlSetMLEText函数设置一个多行编辑框控件中的文本。

InstallShield将listID中的每个字符串分别放进该多行编辑框控件中。

该函数仅使用于自定义对话框。

参数:

szDialogName

指定一个对话框的名称。

nControlID

指定一个对话框中的多行编辑框控件的资源ID。

listID

指定一个有效字符串列表的名称,该列表包含了要被拷贝到多行编辑控件中的元素。

返回值:

0:

CtrlSetMLEText将文本设置到控件中。

<0:

CtrlSetMLEText未能设置控件中的文本。

6.16 CtrlSetMultCurSel

语法:

CtrlSetMultCurSel(szDialogName,nControlID,szText,nSelectFlag);

说明:

CtrlSetMultCurSel函数查找指定的多选列表框或组合框控件。

如果nSelectFlag被设置为TRUE,CtrlSetMultCurSel选定(高亮显示)被找到的项目。

该函数仅使用于自定义对话框。

参数:

szDialogName

指定一个自定义对话框的名称。

nControlID

指定对话框中多选列表框或组合框控件的资源ID。

szText

指定查找字符串。

nSelectFlag

指示当CtrlSetMultCurSel找到一个项目时是否要高亮显示它。

在该参数位置传递下列预定义常量之一:

TRUE:

表明该项目要被高亮显示。

FALSE:

表明该项目不被高亮显示。

返回值:

0:

CtrlSetMultCurSel在控件中找到文本,并根据nSelectFlag所指示的高亮显示它或不高亮显示它。

<0:

CtrlSetMultCurSel未能在控件中找到文本。

6.17 CtrlSetState

语法:

CtrlSetState(szDialogName,nControlID,nState);

说明:

CtrlSetState函数设置一个自定义对话框中的一个复选框或单选钮的当前状态。

当你用一个资源编辑器或对话框编辑器创建单选钮和复选框时,你可以设置它们的某些特性。

如果你因一个按扭的性能遇到了困难,则在编辑器中检查该控件的特性。

参数:

szDialogName

指定一个对话框的名称,该对话框包含复选框或单选钮控件。

nControlID

指定复选框或单选钮控件的资源ID。

nState

指定按扭控件的新状态。

在该参数位置传递下列预定义常量之一:

BUTTON_CHECKED:

设置按扭状态为CHECKED。

BUTTON_UNCHECKED:

设置按扭状态为UNCHECKED。

返回值:

0:

CtrlSetState成功设置复选框或单选钮控件的状态。

<0:

CtrlSetState未能设置该控件的状态。

6.18 CtrlSetText

语法:

CtrlSetText(szDialogName,nControlID,szText);

说明:

CtrlSetText函数设置一个自定义对话框中一个单行编辑区,静态文本区或按扭控件的文本。

为设置多行编辑区中的文本,调用CtrlSetMLEText。

参数:

szDialogName

指定一个对话框的名称。

nControlID

指定其中的文本要被设置的单行编辑区,静态文本区或按扭控件的资源ID。

szText

指定放到控件中的文本。

返回值:

0:

CtrlSetText成功设置控件中的文本。

<0:

CtrlSetText未能设置控件中的文本。

6.19 DefineDialog

语法:

DefineDialog(szDialogName,hInstance,szDLLName,nDialogID,szDialogID,

 nReserved,hwndOwner,lMsgLevel);

说明:

DefineDialog函数定义一个自定义对话框。

当你需要指定一个其属性不能由EzDefineDialog指定的对话框的属性时,调用该函数而不是EzDefineDialog。

注意DefineDialog不显示自定义对话框。

为显示一个自定义对话框,你必须调用WaitOnDialog。

参数:

szDialogName

指定你要定义的自定义对话框的名称。

该名称标识该对话框并使用在所有随后对自定义对话框函数的调用中。

该对话框的名称是区分大小写的,你必须完全按照你在该参数指定的那样来使用它。

hInstance

指定对话框驻留其中的DLL的实例句柄。

如果你在szDLLName指定DLL的全限定名,你可以将该参数指定为0。

为得到一个DLL的实例句柄,调用MicrosoftWindowsAPILoadLibrary。

szDLLName

指定包含对话框资源的DLL文件的全限定名。

如果你不指定一个路径,InstallShield在Windows文件夹中查找该DLL。

如果在那儿没有找到,InstallShield查找在查找路径中指定的文件夹。

如果你用参数hInstance指定DLL的实例句柄,你可以给该参数传递一个空字符串。

当对话框位于_isuser.dll时,你可以为该参数指定一个空字符串。

如果该参数指定为一个空字符串,InstallShield将自动检测_isuser.dll。

nDialogID

如果你使用一个数字(而不是一个字符串)来标识对话框资源时,该参数指定资源ID。

该参数只在szDialogID是一个空字符串时被使用。

建议使用该参数而不是szDialogID来标识对话框资源。

szDialogID

如果你使用一个字符串(而不是一个数字)来标识对话框资源时,该参数指定资源ID。

如果该参数是一个空字符串,nDialogID被用来标识对话框资源。

强烈提议使用nDialogID而不是szDialogID来标识对话框资源。

nReserved

给该参数传递0。

不允许其它值。

hwndOwner

指定主窗口的窗口句柄。

将该参数指定为HWND_INSTALL来使得InstallShield主安装窗口成为对话框的主窗口。

lMsgLevel

该参数指定哪些窗口消息要被发送到该对话框。

你必须用或操作符来将下列常量之一和常量DLG_CENTERED组合:

DLG_MSG_STANDARD:

筛选掉大多数Windows消息;只有那些直接和对话框控件关联的被传递到对话框。

DLG_MSG_ALL:

传递大多数Windows消息。

返回值:

0:

DefineDialog成功定义对话框。

DLG_ERR_ALREADY_EXISTS(-3):

你正试图定义一个已经由DefineDialog定义的对话框。

你不能用相同的名称定义两个对话框。

DLG_ERR(-1):

表示发生一个未确定的错误。

6.20 EndDialog

语法:

EndDialog(szDialogName);

说明:

EndDialog函数关闭一个自定义对话框。

它删除对话框并启动对话框关闭进程。

当下列任意一种情况存在时,使用EndDialog:

Next按扭或其等效已经被处理。

Cancel按扭或其等效已经被处理。

Close系统菜单选项已经被选定(该行为发送DLG_CLOSE消息)。

用户结束对话框操作的任何其它情况。

参数:

szDialogName

指定要关闭的对话框的名称。

返回值:

0:

En

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1