Цитата MKN:
А как заставить его "действовать", т.е. отображать реальный ход установки, после клика на "Установить" ? »
|
После каждой команды изменяем позицию прогресса на 10%
и снимаем позицию бара - помещаем текст позиции над баром.
Код:

SendMessage $PROGBAR ${PBM_SETPOS} 0 10
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
Код:

!include LogicLib.nsh
!include nsDialogs.nsh
Name "nsDialogs Timer Example"
OutFile "nsDialogs Timer Example.exe"
XPStyle on
Var DIALOG
Var TEXT
Var PROGBAR
Var Button
Page custom nsDialogsPage
Function CreateFile
Pop $Button
FileOpen $4 text.txt a
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
SendMessage $PROGBAR ${PBM_SETPOS} 0 0
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
Sleep 500 ;пауза для наглядности
SendMessage $PROGBAR ${PBM_DELTAPOS} 10 0
SendMessage $PROGBAR ${PBM_GETPOS} 0 0 $1
${NSD_SetText} $Text $1%
FileWrite $4 "${__FUNCTION__} $1$\r$\n"
FileClose $4
MessageBox MB_OK "Файл успешно создан!" IDOK
FunctionEnd
Function nsDialogsPage
nsDialogs::Create 1018
Pop $DIALOG
${NSD_CreateLabel} 0u 0u 100% 9u ""
Pop $TEXT
${NSD_CreateProgressBar} 0u 10u 100% 12u "99"
Pop $PROGBAR
${NSD_CreateButton} 90u 70u 70u 12u "Создать файл"
Pop $Button
${NSD_OnClick} $Button CreateFile
nsDialogs::Show
FunctionEnd
Section
SectionEnd