InstallShield创建自定义对话框 实例(转)
2015-03-30 21:50
387 查看
1.在Dialogs视图中,右键All Dialog,选择新建对话框(New Dialog)
2.创建一个空白对话框,命名为MyDlg.
3.双击MyDlg下的子项即可进入对话框的编辑模式
4.这里我们添加一个Hello按钮。选择按钮控件然后在对话框的界面上拖拉出一个按钮控件。
修改按钮属性text为Hello。注意一下这里的Control Identifer属性值,后面我们会用到。
5.在installscript视图中新建一个rul文件,命名为MyDlg.url
6.编写MyDlg.url
内容如下:
7.setup.url内容:
//添加的内容是 #include "MyDlg.rul"
//以及我们自定义的对话框。其他的代码都是自动生成的。
// First Install UI Sequence - Before Move Data
//
// The OnFirstUIBefore event is called by OnShowUI when the setup is
// running in first install mode. By default this event displays UI allowing
// the end user to specify installation parameters.
//
// Note: This event will not be called automatically in a
// program...endprogram style setup.
//---------------------------------------------------------------------------
#include "MyDlg.rul"
function OnFirstUIBefore()
number nResult, nLevel, nSize, nSetupType;
string szTitle, szMsg, szOpt1, szOpt2, szLicenseFile;
string szName, szCompany, szTargetPath, szDir, szFeatures;
BOOL bLicenseAccepted;
begin
nSetupType = COMPLETE;
szDir = TARGETDIR;
szName = "";
szCompany = "";
bLicenseAccepted = FALSE;
// Beginning of UI Sequence
Dlg_Start:
nResult = 0;
Dlg_SdWelcome:
szTitle = "";
szMsg = "";
//{{IS_SCRIPT_TAG(Dlg_SdWelcome)
nResult = SdWelcome( szTitle, szMsg );
//}}IS_SCRIPT_TAG(Dlg_SdWelcome)
if (nResult = BACK) goto Dlg_Start;
Dlg_Hello:
////我们自定义的对话框
szTitle="";
szMsg="It's my hello DLG";
nResult=MyDlg(szMsg);
if (nResult=BACK) goto Dlg_Start;
。。。。
Dlg_SdRegisterUser:
szMsg = "";
szTitle = "";
//{{IS_SCRIPT_TAG(Dlg_SdRegisterUser)
// nResult = SdRegisterUser( szTitle, szMsg, szName, szCompany );
//}}IS_SCRIPT_TAG(Dlg_SdRegisterUser)
if (nResult = BACK) goto Dlg_MyDlg;
。。。。
编译运行就可以看到自己的对方框了。
转自:http://www.xue163.com/131/6/1317403.html
2.创建一个空白对话框,命名为MyDlg.
3.双击MyDlg下的子项即可进入对话框的编辑模式
4.这里我们添加一个Hello按钮。选择按钮控件然后在对话框的界面上拖拉出一个按钮控件。
修改按钮属性text为Hello。注意一下这里的Control Identifer属性值,后面我们会用到。
5.在installscript视图中新建一个rul文件,命名为MyDlg.url
6.编写MyDlg.url
内容如下:
#define DLG_MYDLG "MyDlg" //MyDlg是我们的对话框名字 #define HELLOBTN 1301 //1301就是我们那个按钮的Control Identifer属性值 prototype NUMBER MyDlg(BYREF STRING); function NUMBER MyDlg(msg) HWND hDlg; NUMBER nId, nResult; NUMBER nControl; BOOL bDone; begin //初始对话框函数 if (EzDefineDialog( DLG_MYDLG,ISUSER , "MyDlg", 0 ) = DLG_ERR) then return ISERR_GEN_FAILURE; endif; bDone = FALSE; //循环 while (!bDone) nId = WaitOnDialog( DLG_MYDLG );//获得对话框的消息 switch (nId) case HELLOBTN: //如果是HELLOBTN MessageBox(msg,WARNING); bDone=TRUE; case DLG_ERR: nId = ISERR_GEN_FAILURE; SdError(nId, DLG_MYDLG); bDone = TRUE; case DLG_CLOSE: SdCloseDlg(hDlg, nId, bDone); default: // check standard handling if (SdIsStdButton(nId) && SdDoStdButton(nId)) then bDone = TRUE; endif; endswitch; endwhile; end;
7.setup.url内容:
//添加的内容是 #include "MyDlg.rul"
//以及我们自定义的对话框。其他的代码都是自动生成的。
// First Install UI Sequence - Before Move Data
//
// The OnFirstUIBefore event is called by OnShowUI when the setup is
// running in first install mode. By default this event displays UI allowing
// the end user to specify installation parameters.
//
// Note: This event will not be called automatically in a
// program...endprogram style setup.
//---------------------------------------------------------------------------
#include "MyDlg.rul"
function OnFirstUIBefore()
number nResult, nLevel, nSize, nSetupType;
string szTitle, szMsg, szOpt1, szOpt2, szLicenseFile;
string szName, szCompany, szTargetPath, szDir, szFeatures;
BOOL bLicenseAccepted;
begin
nSetupType = COMPLETE;
szDir = TARGETDIR;
szName = "";
szCompany = "";
bLicenseAccepted = FALSE;
// Beginning of UI Sequence
Dlg_Start:
nResult = 0;
Dlg_SdWelcome:
szTitle = "";
szMsg = "";
//{{IS_SCRIPT_TAG(Dlg_SdWelcome)
nResult = SdWelcome( szTitle, szMsg );
//}}IS_SCRIPT_TAG(Dlg_SdWelcome)
if (nResult = BACK) goto Dlg_Start;
Dlg_Hello:
////我们自定义的对话框
szTitle="";
szMsg="It's my hello DLG";
nResult=MyDlg(szMsg);
if (nResult=BACK) goto Dlg_Start;
。。。。
Dlg_SdRegisterUser:
szMsg = "";
szTitle = "";
//{{IS_SCRIPT_TAG(Dlg_SdRegisterUser)
// nResult = SdRegisterUser( szTitle, szMsg, szName, szCompany );
//}}IS_SCRIPT_TAG(Dlg_SdRegisterUser)
if (nResult = BACK) goto Dlg_MyDlg;
。。。。
编译运行就可以看到自己的对方框了。
转自:http://www.xue163.com/131/6/1317403.html
相关文章推荐
- InstallShield创建自定义对话框 实例2
- InstallShield创建自定义对话框 实例
- InstallShield创建自定义对话框的基本方法
- InstallShield创建自定义对话框的基本方法
- InstallshieldX安装制作杂记(实例之自定义对话框)
- InstallShield创建自定义对话框的基本方法
- activiti自定义流程之Spring整合activiti-modeler实例(二):创建流程模型
- activiti自定义流程之Spring整合activiti-modeler实例(二):创建流程模型
- webkit的js对象扩展(二)——binding方式创建自定义对象(多实例)
- 创建moss自定义字段类型实例
- PyQt给组件创建信号并使用自定义信号源码实例
- WindowsMobile创建自定义对话框(多选项对话框)
- android创建自定义对话框
- MFC MDI使用自定义模板对话框创建子文档
- InstallShield自定义对话框浅谈(转)
- Visual C++创建自定义dll及其调用实例
- 使用AlertDialgo创建自定义对话框
- Android 创建自定义对话框主题(使用半透明背景也不会露出原有的背景了)
- QT 创建对话框 Dialog 实例
- 2.5.3 使用alertDialog创建自定义对话框