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

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

Ветеран


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

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


Эффект "кругов на воде" на BMP рисунке.

Получается с помощью инносетаповской waterctrl.dll и следующего кода :
Код: Выделить весь код
!AddPluginDir ".\"
!include MUI2.nsh

OutFile "WaterCtrl_test.exe"

ReserveFile waterctrl.dll
!define MUI_WELCOMEFINISHPAGE_BITMAP WizModernImage-Is.bmp
!define MUI_PAGE_CUSTOMFUNCTION_PRE pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_Pre pre
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"

Function .onGUIEnd
SetPluginUnload manual
waterctrl::disablewater
System::Free
FunctionEnd

Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
File waterctrl.dll
;SetOutPath $TEMP
FunctionEnd

Function Pre
; Load Image (LR_CREATEDIBSECTION|LR_LOADFROMFILE = 0x2010)
System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIR\modern-wizard.bmp",0,0,0,0x2010) .s'
Pop $R0
System::Call '$PLUGINSDIR\waterctrl::enablewater(i,i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,3,50)'
System::Call '$PLUGINSDIR\waterctrl::setwaterparent(i $HWNDPARENT)'
System::Call '$PLUGINSDIR\waterctrl::flattenwater()'
System::Call '$PLUGINSDIR\waterctrl::waterblob(i,i,i,i) i (70,198,10,1000)'
FunctionEnd

Function leave
System::Call '$PLUGINSDIR\waterctrl::disablewater()'
FunctionEnd

Section
Sleep 300
SectionEnd
Недостаток - ощутимая задержка после запуска перед появлением страницы.

Последний раз редактировалось MKN, 27-05-2020 в 16:17.

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

Отправлено: 17:55, 05-09-2013 | #517