Я пытаюсь сделать в значительной степени то, что задают здесь , но из-за сложности синтаксиса и нехватки времени, мне нужен кто-то, чтобы помочь мне в этом.
Я потратил пару часов, пытаясь показать ДВА галочки вместо одного, но я продолжаю терпеть неудачу.Синтаксис NSIS убивает меня, и я не могу правильно передать параметры для второго USER32::CreateWindowEx
.Я хочу отобразить второй флажок ниже (или справа) от первого.
До сих пор я сделал следующие изменения, но, кажется, это не создает второй флажок (см. Оригинальный постдля остальной части кода).
; ---<snip>---
System::Call 'USER32::CreateWindowEx(i0,t "Button",t "Some option",i ${__NSD_CheckBox_STYLE},ir6,ir7,ir8,ir9,ir0,i666,i0,i0)i.r2'
System::Call 'USER32::CreateWindowEx(i0,t "Button",t "Second option",i ${__NSD_CheckBox_STYLE},ir6+100,ir7,ir8,ir9,ir0,i667,i0,i0)i.r3'
SendMessage $0 ${WM_GETFONT} 0 0 $0
SendMessage $2 ${WM_SETFONT} $0 1
SendMessage $3 ${WM_SETFONT} $0 1
${NSD_SetState} $2 1 ;check it
${NSD_SetState} $3 1 ;check it
FunctionEnd
Function licleave
FindWindow $5 "#32770" "" $HWNDPARENT
GetDlgItem $0 $5 666
GetDlgItem $1 $5 667
${NSD_GetState} $0 $0
${NSD_GetState} $1 $1
MessageBox mb_ok "Checkbox=$0 $1"
FunctionEnd