【问题标题】:Disabling "Next" button In InstallScript在 InstallScript 中禁用“下一步”按钮
【发布时间】:2011-09-01 09:21:21
【问题描述】:

使用 InstallShield - InstallScript 项目:

我为浏览文件创建了一个自定义对话框。

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

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

我使用了 _WinSubEnableControl 或 EnableWindow 函数。

【问题讨论】:

    标签: installshield installscript customdialog


    【解决方案1】:

    它对我有用:

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

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

    【讨论】:

    • 谢谢,根据您的建议,我开始准备在此处发布的代码并在美化它的同时,让我感到震惊的是,也许我应该将禁用部分放在代码的后面——所以我把它放在了电话之后到 SdGeneralInit 并且它起作用了。 :) 我很高兴。再次感谢。
    【解决方案2】:

    禁用按钮的代码应该在调用 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);
    

    【讨论】:

      猜你喜欢
      • 2012-05-21
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多