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

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

Ветеран


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

Профиль | Отправить 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


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

Отправлено: 12:50, 19-12-2014 | #1411