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

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

Ветеран


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

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


Собственные MessageBox (с кликабельными ссылками и пр.) можно делать с помощью DlgHost Plugin
http://nsis.sourceforge.net/File:DlgHostPlugin.zip

Пример :

PHP код: Выделить весь код

!include nsDialogs.nsh
OutFile 
"DlgHostDialog-test.exe"
Page custom MyPage
Page InstFiles
Var dlg
Var Link

!ifndef INC__DLGHOST_PLUGIN
!define INC__DLGHOST_PLUGIN 20110619
!define DLGHOST_DLGBOXMSG_INITDLG 0
!define DLGHOST_DLGBOXMSG_SHOWDLG 1
!endif

Function 
CloseDlgHostDialog
Pop 
$0
DlgHost
::Close
FunctionEnd

Function ShowNSDChildDlg
GetFunctionAddress 
$0 MyMB
DlgHost
::DlgBox "* $0 p 150u 100u Заголовок DlgBox"
FunctionEnd

Function MyPage
nsDialogs
::Create 1018
Pop $dlg
${NSD_CreateLabel125u 50u 80u 10u "MyPage"
nsDialogs::Show
FunctionEnd

Function MyMB
${Select} $0
${Case} ${DLGHOST_DLGBOXMSG_INITDLG}
nsDialogs::Create 1018
Pop 
$1
DlgHost
::SetClient $1
    
${NSD_CreateLabel5u 5u 80u 25u "MessageBox Txt1$\nMessageBox Txt2$\nMessageBox Txt3"
Pop $1

${NSD_CreateLink5u 30u 80u 10u "MyLink"
Pop $Link
${NSD_OnClick$Link ClickMyLink
        
${NSD_CreateButton25604515u "&Close"
Pop $1
${NSD_OnClick} $1 CloseDlgHostDialog
    
${Case} ${DLGHOST_DLGBOXMSG_SHOWDLG}
nsDialogs::Show
${EndSelect}
FunctionEnd

Function ClickMyLink
ExecShell 
"open" "http://forum.oszone.net" 
FunctionEnd

Section
Call ShowNSDChildDlg
SectionEnd 

ShowNSDChildDlg вызываете ессно откуда надо и при необходимых условиях.
Содержимое DlgHost.nsh включено в код.

Последний раз редактировалось MKN, 25-12-2015 в 16:56.


Отправлено: 16:46, 25-12-2015 | #1918