Как я могу изменить текст в MUI_WELCOME_PAGE при использовании MUI2 для NSIS? - PullRequest
14 голосов
/ 16 марта 2011

Я хочу добавить метку, отображающую полную строку версии на экране приветствия в программе установки, которую я создаю с использованием NSIS с MUI2.

Я искал информацию о том, как это сделать, но нашел только ссылки на использование MUI_INSTALLOPTIONS *, которые, как я обнаружил, устарели для MUI2. Другой ссылался на более новые версии, используя INSTALLOPTIONS * с теми же параметрами, но я не мог заставить его работать. Я наконец-то также нашел ссылку на использование nsDialogs для этого - то, что я использую для своих пользовательских страниц. Однако - я не нашел ни ссылок, ни примеров о том, как изменить какую-либо из существующих страниц, которая поставляется с MUI2.nsh.

Я нашел способ изменить MUI_HEADERTEXT, но это не влияет на экран приветствия. Я бы хотел, чтобы был способ изменить текст приветствия. Возможно, используйте MUI_WELCOMETITLE и MUI_WELCOMEBODY или подобное.

1 Ответ

11 голосов
/ 16 марта 2011

Существует MUI_WELCOMEPAGE_TEXT, но это полезно, только если вы хотите изменить весь текст, а не просто добавить что-либо.

Во время функции показа для страницы вы можете изменить текст любого элемента управления:

outfile test.exe
requestexecutionlevel user

!include MUI2.nsh

#!define MUI_WELCOMEPAGE_TEXT "New text goes here"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"


Function MyWelcomeShowCallback
SendMessage $mui.WelcomePage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_WELCOME_INFO_TEXT)$\n$\nVersion: foo.bar"
FunctionEnd

Section
SectionEnd

.. или добавьте новый элемент управления:

outfile test.exe
requestexecutionlevel user

!include MUI2.nsh

!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"


Function MyWelcomeShowCallback
${NSD_CreateLabel} 120u 150u 50% 12u "Version: foo.bar"
Pop $0
SetCtlColors $0 "" "${MUI_BGCOLOR}"
FunctionEnd

Section
SectionEnd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...