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

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

Старожил


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

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


Кроме замены цвета фона окна (в .onGUIInit) надо ещё поменять цвет фона каждой страницы и всех элементов в ней (в show-функции для каждой страницы)
пример
Код: Выделить весь код
!include WinMessages.nsh
RequestExecutionLevel user
InstallDir $TEMP

Page components "" cshow
Page directory "" dshow
Page instfiles "" ishow

; define background color
!define BACKGROUNDCOLOR 0xFFFFFF

Section `Dummy Section`
    DetailPrint ...
SectionEnd

Function cshow
    ; repaint page
    FindWindow $1 "#32770" "" $HWNDPARENT
    SetCtlColors $1 '' ${BACKGROUNDCOLOR}
    
    ; repaint page controls
    GetDlgItem $0 $1 1031
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1006
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1017
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1021
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1022
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1023
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1032
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
FunctionEnd

Function dshow
    ; repaint page
    FindWindow $1 "#32770" "" $HWNDPARENT
    SetCtlColors $1 '' ${BACKGROUNDCOLOR}

    ; repaint page controls
    GetDlgItem $0 $1 1031
    SetCtlColors $0 '' ${BACKGROUNDCOLOR} 
    GetDlgItem $0 $1 1006
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1019
    SetCtlColors $0 '' ${BACKGROUNDCOLOR} 
    ; ...
FunctionEnd

Function ishow
    ; repaint page
    FindWindow $1 "#32770" "" $HWNDPARENT
    SetCtlColors $1 '' ${BACKGROUNDCOLOR}

    ; repaint page controls
    GetDlgItem $0 $1 1031
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
    GetDlgItem $0 $1 1006
    SetCtlColors $0 '' ${BACKGROUNDCOLOR}
FunctionEnd

Function .onGUIInit
    ; repaint window
    SetCtlColors $HWNDPARENT '' ${BACKGROUNDCOLOR}

    ; set BrandingText ${BACKGROUNDCOLOR} background
    GetDlgItem $0 $HWNDPARENT 1028
    SetCtlColors $0 '' transparent
FunctionEnd

Последний раз редактировалось iglezz, 02-06-2023 в 21:28. Причина: transparent --> ${BACKGROUNDCOLOR}

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

Отправлено: 20:59, 02-06-2023 | #2733