0

使用 InstallShield - InstallScript 项目:

我制作了一个用于浏览文件的自定义对话框。

在对话框初始化时,我想禁用“下一步”按钮。

我成功禁用了此对话框上的其他按钮,但安装向导的任何按钮除外:取消、下一步和返回。

我使用了函数 _WinSubEnableControl 或 EnableWindow。

4

2 回答 2

3

这个对我有用:

   function
     HWND    hwndDlg, hwndNext;
     ...
   begin
     ...
     hwndDlg = CmdGetHwndDlg( strDialogName );
     hwndCtrl = GetDlgItem(hwndDlg, NEXT);
     EnableWindow(hwndCtrl, FALSE);
     ...
   end;

如果您觉得这没有用,请发布您的代码。

于 2011-09-05T05:05:16.313 回答
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);
于 2011-09-05T06:49:30.757 回答