2
我試圖添加一個複選框到我的NSIS卸載程序的歡迎屏幕,但我無法找到示例。從MUI2的documentation我找不到任何可以在歡迎頁面上運行的自定義函數。添加複選框到NSIS卸載程序歡迎頁面
它看起來像完成頁面更容易根據我找到的文檔和其他answer定製。
有沒有辦法自定義歡迎頁面?如果不是,那麼完成意向的其他選擇是什麼?
我試圖添加一個複選框到我的NSIS卸載程序的歡迎屏幕,但我無法找到示例。從MUI2的documentation我找不到任何可以在歡迎頁面上運行的自定義函數。添加複選框到NSIS卸載程序歡迎頁面
它看起來像完成頁面更容易根據我找到的文檔和其他answer定製。
有沒有辦法自定義歡迎頁面?如果不是,那麼完成意向的其他選擇是什麼?
您鏈接到的MUI(1)文檔有關於如何在pre/show回調中定製歡迎頁面的說明。使用MUI2,您可以在show callback中添加控件。見nsDialogs文檔,瞭解關於這些自定義控件的詳細信息...
!include MUI2.nsh
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnWelcome
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnWelcome
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
Var mycheckbox ; You could just store the HWND in $1 etc if you don't want this extra variable
Function un.ModifyUnWelcome
${NSD_CreateCheckbox} 120u -18u 50% 12u "Do something special"
Pop $mycheckbox
SetCtlColors $mycheckbox "" ${MUI_BGCOLOR}
${NSD_Check} $mycheckbox ; Check it by default
FunctionEnd
Function un.LeaveUnWelcome
${NSD_GetState} $mycheckbox $0
${If} $0 <> 0
MessageBox mb_ok "I'm special"
${EndIf}
FunctionEnd
Section testuninstaller
Initpluginsdir
WriteUninstaller "$pluginsdir\u.exe"
ExecWait '"$pluginsdir\u.exe" _?=$pluginsdir'
Sectionend
複選框對我有問題,這豈不是對所有其表面的clickeable。我改變了座標以使其工作:'120u -20u 50%20u' – dothebart