Ветеран
Сообщения: 2358
Благодарности: 559
|
Профиль
|
Отправить PM
| Цитировать
Serg866,
Вот вариант для PAGE_INSTFILES с собственным окном для текста, с текстом-заголовком над этим окном и картинкой :
читать дальше »
Код:
OutFile "PAGE_INSTFILES_TXT_Pict_Test.exe"
Name "PAGE_INSTFILES_TXT_Pict"
InstallDir "$TEMP"
!include MUI2.nsh
!insertmacro MUI_PAGE_DIRECTORY
!define MUI_PAGE_CUSTOMFUNCTION_SHOW ShowTxt
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
ShowInstDetails nevershow
!define WS_BORDER 0x00800000
!define HWND_TOP 0
!define SWP_NOSIZE 0x0001
!define SWP_NOMOVE 0x0002
!define IDC_BITMAP 1500
Var hBitmap
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\vinni.bmp "vinni.bmp"
FunctionEnd
Function ShowTxt
StrCpy $R9 "Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне$\r$\n\
Текст в окне Текст в окне"
FindWindow $R0 "#32770" "" $HWNDPARENT
System::Call 'user32::CreateWindowEx(i0,t "EDIT",t "$R9",\
i${DEFAULT_STYLES}|${WS_VSCROLL}|${ES_MULTILINE}|${ES_AUTOVSCROLL}|${WS_BORDER},\
i5,i100,i445,i100,i$R0,i222,i0,i0) i.R1'
SetCtlColors $R1 `0x0000FF` `0x99FFFF`
SendMessage $R0 ${WM_GETFONT} 0 0 $R9
SendMessage $R1 ${WM_SETFONT} $R9 0
SendMessage $R1 ${EM_SETREADONLY} 1 0
StrCpy $R8 "Текст над окном"
System::Call 'USER32::CreateWindowEx(i0,t "STATIC",t "$R8",i ${WS_CHILD}|${WS_VISIBLE},i15,i75,i445,i20,i $R0,i122,i0,i0) i.R5'
SendMessage $R0 ${WM_GETFONT} 0 0 $R8
SendMessage $R5 ${WM_SETFONT} $R8 0
; помещаем на страницу картинку "vinni.bmp" (размеров 58x80)
System::Call `kernel32::GetModuleHandle(i 0) i.R3`
System::Call `user32::CreateWindowEx(i 0, t "STATIC", t "", i ${SS_BITMAP}|${WS_CHILD}|${WS_VISIBLE}, i370, i110, i58, i80, i $R0, i ${IDC_BITMAP}, i R3, i 0) i.R1`
System::Call `user32::SetWindowPos(i R1, i ${HWND_TOP}, i 0, i 0, i 0, i 0, i ${SWP_NOSIZE}|${SWP_NOMOVE})`
System::Call `user32::LoadImage(i 0, t "$PLUGINSDIR\vinni.bmp", i ${IMAGE_BITMAP}, i 0, i 0, i ${LR_CREATEDIBSECTION}|${LR_LOADFROMFILE}) i.s`
Pop $hBitmap
SendMessage $R1 ${STM_SETIMAGE} ${IMAGE_BITMAP} $hBitmap
FunctionEnd
; Free loaded resources.
Function .onGUIEnd
; Destroy the bitmap.
System::Call `gdi32::DeleteObject(i s)` $hBitmap
FunctionEnd
Section
Sleep 500
SectionEnd
|