Цитата 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 Касательно кнопки на стандартных страницах... Пример был дан как пример, годный лишь для случая, когда ну позарез нужна кнопка именно на стандартной странице.
А вообще это извращение...
Как уже говорили ранее - кнопка нормально отображается только в верхней и нижней частях окна страницы. По центру она закрыта контролом области "поля-окна" стандартной страницы. А это, как оказалось, гадость ещё та (как и вообще, все стандартные страницы

)...
Можно изменить размер этой закрываюшей кнопку области либо в ресурсе, либо через системные функции. Но это получится гемор, не стоящий того...