使用InstallShield - InstallScript项目:
我创建了一个用于浏览文件的自定义对话框 .
在对话框初始化中,我想禁用“下一步”按钮 .
我成功禁用了此对话框上的其他按钮,但安装向导的任何按钮除外:取消,下一步和后退 .
我使用函数_WinSubEnableControl或EnableWindow .
这个对我有用:
function HWND hwndDlg, hwndNext; ... begin ... hwndDlg = CmdGetHwndDlg( strDialogName ); hwndCtrl = GetDlgItem(hwndDlg, NEXT); EnableWindow(hwndCtrl, FALSE); ... end;
如果您没有发现这个有用,请发布您的代码 .
禁用按钮的代码应该在调用SdGeneralInit之后 . 如果你把它放在之前(就像我做的那样),改变就不会坚持下去 .
对SdGeneralInit的调用显式启用了“下一步”按钮,这就是为什么它不适用于“下一步”按钮,但确实适用于对话框上的其他自定义按钮 .
看起来应该是这样的:
case DLG_INIT: SdGeneralInit( szDlg, hwndDlg, 0, szSdProduct ); hDlgHandle = CmdGetHwndDlg(szDlg); hNextButton = GetDlgItem(hDlgHandle, 1); // 1 is the id for the next button. EnableWindow(hNextButton, FALSE);
2 回答
这个对我有用:
如果您没有发现这个有用,请发布您的代码 .
禁用按钮的代码应该在调用SdGeneralInit之后 . 如果你把它放在之前(就像我做的那样),改变就不会坚持下去 .
对SdGeneralInit的调用显式启用了“下一步”按钮,这就是为什么它不适用于“下一步”按钮,但确实适用于对话框上的其他自定义按钮 .
看起来应该是这样的: