Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата Begin2Fly:
Подскажите, пожалуйста, как грамотнее реализовать создание чекбокса на MUI_PAGE_DIRECTORY. »
Создать собственную страничку с нужными элементами и заменить ею стандартную страничку выбора каталога

Цитата Begin2Fly:
Отредактировал modern.exe, добавив туда чекбокс »
"секс" с NSIS - это прекрасно
Если вы любите заниматься с NSIS этим, то давайте я вам объясню, как можно достигнуть пика наслаждения от корректного кода таким методом

1. Создаём Checkbox в modern.exe в диалоге 103, при создании обязательно ставим ему стиль BS_AUTOCHECKBOX
2. В поле ID элемента (я создавал элемент в ResHacker'e) вводим, например 5555, это обязательно, чтобы потом в коде мы смогли обратиться именно к нашему чекбоксу
3. В коде, после строки
Код: Выделить весь код
!insertmacro MUI_PAGE_DIRECTORY
Добавляем
Код: Выделить весь код
page custom MUI_PAGE_DIRECTORY_POST
И добавляем функцию, которая будет определять статус нашего чекбокса
Код: Выделить весь код
Function MUI_PAGE_DIRECTORY_POST
 FindWindow $0 "#32770" "" $HWNDPARENT
 GetDlgItem $0 $0 5555
 SendMessage $0 ${BM_GETCHECK} "" "" $0
MessageBox MB_OK|MB_ICONINFORMATION "Статус чекбокса: $0"
FunctionEnd
Значение в переменной $0: 1 = чекбокс отмечен, 0 = не отмечен

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:26, 25-10-2014 | #1346