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);