Цитата 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 = не отмечен