使用 InstallShield - InstallScript 项目:
我制作了一个用于浏览文件的自定义对话框。
在对话框初始化时,我想禁用“下一步”按钮。
我成功禁用了此对话框上的其他按钮,但安装向导的任何按钮除外:取消、下一步和返回。
我使用了函数 _WinSubEnableControl 或 EnableWindow。
使用 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);