简体   繁体   中英

Change default buttons name NSIS

I am very new to NSIS, I created a simple installer with 2 screens,

!include LogicLib.nsh
!include nsDialogs.nsh

Page custom someName someEndmethod
Page instfiles

First one is a custom page (nsDialogs) and on it the default button is "install" and i have 2 questtions :

  • How do i bound a method to its click event ?
  • How do i change the text on that button ?

BTW - I am not using MUI .

The best reference i could found regarding the nsDialogs was the following: http://nsis.sourceforge.net/Docs/nsDialogs/Readme.html

but could not seem to find answer to those simple questions.

Thanks

!include WinMessages.nsh
Function MyPageCreate
GetDlgItem $0 $hwndparent 1 ; Get the handle to the button
SendMessage $0 ${WM_SETTEXT} 0 `STR:$(^NextBtn)` ; The part after STR: can be any string, using the next button language string here
nsDialogs::Create 1018
pop $0
nsDialogs::Show
FunctionEnd

Function MyPageLeave
MessageBox mb_yesno "User clicked Next/Install, allow the page change?" IDYES allow
    Abort
allow:
FunctionEnd

Page Components
Page Custom MyPageCreate MyPageLeave
Page InstFiles

If you just want to change the string on the install button no matter which page it is on (The page before the instfiles page) you can change it with LangString instead.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM