Отключение кнопки «Далее» в InstallScript

Используя InstallShield - проект InstallScript:

Я сделал собственный диалог для просмотра файла.

При инициализации диалога я хочу отключить кнопку «Далее».

Мне удалось отключить другие кнопки в этом диалоговом окне, кроме любой из кнопок мастера установки: «Отмена», «Далее» и «Назад».

Я использовал функции _WinSubEnableControl или EnableWindow.


person kroiz    schedule 01.09.2011    source источник


Ответы (2)


Меня устраивает:

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

Если вы не нашли это полезным, пожалуйста, опубликуйте свой код.

person Ivan    schedule 05.09.2011
comment
Спасибо. По вашему предложению я начал готовить код для публикации здесь, и, приукрашивая его, мне пришло в голову, что, возможно, мне следует добавить раздел отключения позже в код - поэтому я поставил его после вызова SdGeneralInit, и это сработало. :) я так счастлив. еще раз спасибо. - person kroiz; 05.09.2011

Код отключения кнопки должен быть после вызова 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);
person kroiz    schedule 05.09.2011