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

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


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

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


Цитата tony1990:
Есть ли способ вывести строку Space Available: на стандартной странице компонентов? »
Как уже было ранее рассмотрено - на любую стандартную страницу можно поместить дополнительный текст.
В твоём случае текст с информацией о свободном дисковом пространстве - на PAGE_COMPONENTS.
Это можно реализовать так :
Код: Выделить весь код
!include "MUI2.nsh"
!include "Sections.nsh"

!insertmacro MUI_PAGE_DIRECTORY
!define MUI_PAGE_CUSTOMFUNCTION_SHOW components_show
!insertmacro MUI_PAGE_COMPONENTS 
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

InstallDir "$TEMP"
OutFile "FreeSpace-test.exe"
 
Function .onInit
  System::Call 'kernel32::GetDiskFreeSpaceEx(t"$instdir",*l.r1,*l,*l)'
  System::Int64Op $1 / 1024 
  Pop $1
FunctionEnd

Function components_show
    StrCpy $4 'Space Available: $1 kb'
    FindWindow $0 "#32770" "" $HWNDPARENT
    System::Call 'USER32::CreateWindowEx(i0,t "STATIC",t "$4",i ${WS_CHILD}|${WS_VISIBLE},i0,i40,i300,i20,i $0,i222,i0,i0) $R2'
    GetDlgItem $1 $0 1027
    GetDlgItem $2 $0 222
    SendMessage $1 ${WM_GETFONT} 0 0 $3
    SendMessage $2 ${WM_SETFONT} $3 1
FunctionEnd

SectionGroup /e "SectionGroup " SEC0
	Section "Section 1" S1
	SectionEnd
	Section /o "Section 2" S2
	SectionEnd
	Section /o "Section 3" S3
	SectionEnd
SectionGroupEnd
Только какой в этом смысл... Если уж определять свободный дисковый объём, то в связи с тем - достаточно ли места для устанавливаемых компонентов.
А с этим надо определяться сразу же после запуска инсталлятора. О чем выводить соответствующее сообщение.

PS Касательно кнопки на стандартных страницах... Пример был дан как пример, годный лишь для случая, когда ну позарез нужна кнопка именно на стандартной странице.
А вообще это извращение...
Как уже говорили ранее - кнопка нормально отображается только в верхней и нижней частях окна страницы. По центру она закрыта контролом области "поля-окна" стандартной страницы. А это, как оказалось, гадость ещё та (как и вообще, все стандартные страницы )...
Можно изменить размер этой закрываюшей кнопку области либо в ресурсе, либо через системные функции. Но это получится гемор, не стоящий того...

Последний раз редактировалось MKN, 28-08-2013 в 16:18.

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

Отправлено: 15:26, 28-08-2013 | #486