使用InstallShield - InstallScript项目:
我制作了一个用于浏览文件的自定义对话框。
在对话框初始化中,我想禁用“下一步”按钮。
我成功禁用了此对话框上的其他按钮,但安装向导的任何按钮除外:取消,下一步和后退。
我使用了函数_WinSubEnableControl或EnableWindow。
答案 0 :(得分:2)
它对我有用:
function
HWND hwndDlg, hwndNext;
...
begin
...
hwndDlg = CmdGetHwndDlg( strDialogName );
hwndCtrl = GetDlgItem(hwndDlg, NEXT);
EnableWindow(hwndCtrl, FALSE);
...
end;
如果您认为没有用,请发布您的代码。
答案 1 :(得分:1)
禁用按钮的代码应该在调用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);