» Длинное название программы

K.A.V.
www.oszone.net
22.02.2010
Автор: mshak
Последнее обновление: 18.12.2010

Часто бывает, что на стр. приветствия название программы
слишком длинное и не умещается на странице приветствия:
По умолчанию размер метки соствляет 28u, что примерно 2 с половиной строки.
Естественно если название должно выводится на трех строчках, то оно не влезает.
Это решается добавление в коде константы MUI_WELCOMEPAGE_TITLE_3LINES и
тогда высота метки будет составлять 38u, что вполне достаточно для вывода трех строк.
!include "MUI2.nsh"
!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_WELCOME
;страничка привествия
А вот что необходимо сделать пользователям у которых не вмещается и на три строки:
открываем файл C:\Program Files\NSIS\Contrib\Modern UI 2\Pages\Welcome.nsh
(C:\Program Files\NSIS - папка куда установлен NSIS, у Вас может отличаться), предварительно сделав копию этого файла.
Находим 80-82 строки со следующим содержанием:
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
Далее ищем строки 138-142 со следующим содержанием:
;Title !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
  !define MUI_WELCOMEPAGE_TITLE_HEIGHT 28
!else
  !define MUI_WELCOMEPAGE_TITLE_HEIGHT 38
!endif
и заменяем их следующим кодом:
;Title ;12u - высота одной строки  !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
    !ifdef MUI_WELCOMEPAGE_TITLE_CUSTOM_HEIGHT
       !define MUI_WELCOMEPAGE_TITLE_HEIGHT ${MUI_WELCOMEPAGE_TITLE_CUSTOM_HEIGHT}
  !else
       !define MUI_WELCOMEPAGE_TITLE_HEIGHT 28
  !endif
 !else
       !define MUI_WELCOMEPAGE_TITLE_HEIGHT 38
 !endif
при этом сохраняется полная совместимость со старым скриптом.
Пример использования если название умещается на пять строк:
!define MUI_WELCOMEPAGE_TITLE_CUSTOM_HEIGHT 60 ;12u - высота одной строки
!insertmacro MUI_PAGE_WELCOME ;страничка привествия