InstallShield自定义对话框浅谈(二)
来源:互联网 发布:小五金软件 编辑:程序博客网 时间:2024/04/30 06:14
二、 根据输入控制对话框上控件的有效性
在自定义了一个对话框之后,可能需要对对话框上的控件之间的关系进行一些控制,比如当选中了某单选框后,使一些控件有效,而选中其他的单选框后,另一些控件有效等等。要实现这些功能,就需要手动编写InstallShield脚本来实现了。
下面是一个在安装向导中添加了一个自定义对话框,在该步骤中实现在安装的时候在本机器上添加一个SQL Server的数据源。图“自定义对话框效果图”是该自定义对话框的运行效果图:
在该自定义对话框中,除了要完成配置SQL Server的数据源之外,还要完成其他一些辅助功能。为了在本机器上配置一个SQL Server数据源,需要输入该数据源的名称、该数据源是针对那个服务器的以及配置的是用户数据源还是系统数据源等数据,而数据库和服务器用户及口令则是完成辅助功能所需要的。只有当输入了必须的数据(如:服务器、数据库、用户名称、数据源等)之后,按钮“下一步”才能有效,为了达到这个要求,就需要对用户的输入进行判断,在InstallShield中可以用WaitOnDialog来得到当前对话框的事件。下面是完成该功能的一个完整脚本代码:
///////////////////////////////////////////////////////////////////////
// kdcis.rul
//
///////////////////////////////////////////////////////////////////////
#ifndef __KDCIS_RUL_
#define __KDCIS_RUL_
#include "winsysdll.h"
//
// Pre-defined script dialog constants
//
// ----- Attribute Dialog Controls ------
#define DLG_DSN_SQLSERVER 30001
#define IDC_RADIO_DSN_USER 1001
#define IDC_RADIO_DSN_SYSTEM 1002
#define IDC_EDIT_DB_ADDR 1003
#define IDC_EDIT_SQLSERVER_USER_NAME 1004
#define IDC_EDIT_SQLSERVER_USER_PWD 1005
#define IDC_EDIT_SQLSERVER_DSN 1006
#define IDC_EDIT_SQLSERVER_DB 1007
file://----------------------
// Function prototypes
file://----------------------
///////////////////////////////////////////////////////////////
// 显示配置SQLSERVER数据源对话框
// 参数:
// BOOL bFirstStep:是安装的第一步吗?
// BOOL bAllowNotSet:是否允许跳过本次设置
// BYVAL STRING szTitle:对话框的标题
///////////////////////////////////////////////////////////////
prototype BuildSQLServerDSN(BOOL, BOOL, BYVAL STRING);
///////////////////////////////////////////////////////////////
// 校验配置数据源对话框的输入有效性
// 参数:
// HWND hwndDlg:配置对话框的句柄,从CmdGetHwndDlg中得到
// BOOL bAllowNotSet:是否允许跳过本次设置
// 备注:
// CheckSQLServerDSNInputValid:对SQLSERVER数据源配置进行校验
//////////////////////////////////////////////////////////////
prototype CheckSQLServerDSNInputValid(HWND, BOOL);
file://----------------------
// Variable declaration
file://----------------------
file://----------------------
// Macro declaration
file://----------------------
#define DSN_SQLSERVER_DLG "ConfigSQLServerDSNDLG"
- InstallShield自定义对话框浅谈(二)
- InstallShield自定义对话框浅谈(一)
- InstallShield自定义对话框浅谈(三)
- InstallShield自定义对话框浅谈(四)
- InstallShield自定义对话框浅谈(五)
- InstallShield自定义对话框浅谈(转)
- InstallShield------自定义对话框
- InstallShield自定义对话框失效控制
- InstallShield创建自定义对话框 实例
- InstallShield自定义对话框以及问题
- InstallShield创建自定义对话框的基本方法
- InstallShield创建自定义对话框的基本方法
- InstallShield创建自定义对话框的基本方法
- InstallShield创建自定义对话框的基本方法
- InstallShield创建自定义对话框 实例(转)
- InstallShield创建自定义对话框 实例2
- InstallShield内部库函数之6 自定义对话框函数
- InstallShield内部库函数全集五-自定义对话框函数
- 搜索引擎技术核心揭密(PHP)
- PHP 和 MySQL 开发的 8 个技巧
- 关于ASP的(VBScript)类,只希望给初学者看一看,希望对你们有帮助
- 一个sql语句,包含有几乎所有标准查询语法
- InstallShield自定义对话框浅谈(一)
- InstallShield自定义对话框浅谈(二)
- InstallShield自定义对话框浅谈(三)
- InstallShield自定义对话框浅谈(四)
- InstallShield自定义对话框浅谈(五)
- InstallShield 6.2 创建卸载快捷方式
- IP地址控件小技巧
- 面试中如何体现身价
- 如何闯过外企面试关
- 从用户接触到完成需求说明书