我创建了我的自定义页面,并想知道当我单击Next按钮时,如何检查我的输入是否为空。
流动情况如下:
我试过nsDialog onChange和onClick,但没能得到这个
Function lprConfigServerUserXml
nsDialogs::Create 1018
Pop $0
GetFunctionAddress $0 OnClick
nsDialogs::OnClick $0
${NSD_CreateLabel} 0 5u 75% 10u "* Server Address "
Pop $0
${NSD_CreateText} 0 15u 100% 12u ""
Pop $SERVER_ADDRESS
${NSD_OnChange} $SERVER_ADDRESS setSeverValue
${NSD_CreateLabel} 0 35u 75% 10u "* User Name "
Pop $0
${NSD_CreateText} 0 45u 100% 12u ""
Pop $USER_NAME
${NSD_OnChange} $USER_NAME setUserValue
${NSD_CreateLabel} 0 65u 75% 10 u "* <br/> Pop $0<br/> ${NSD_CreateText} 0 75u 100% 12 u ""<br/> Pop $PASSWORD<br/> ${NSD_OnChange} $PASSWORD setPasswordValue<br/> nsDialogs::Show<br/> FunctionEnd`‘
Function OnClick
Pop $0 # HWND
MessageBox MB_OK "Error, empty. Set all inputs"
FunctionEnd
至今仍无结果:
发布于 2019-01-30 15:47:16
当用户单击“下一步”按钮时,将调用页面离开回调函数。您可以调用Abort,以防止用户移动到回调中的下一页。
!include nsDialogs.nsh
!include LogicLib.nsh
Page Custom MyCustomPageCreate MyCustomPageLeave
Page Directory
Page InstFiles
Var NameCtrl
Var NameString
Function MyCustomPageCreate
nsDialogs::Create 1018
Pop $0
${NSD_CreateLabel} 0 0 100% 12u "Name:"
Pop $0
${NSD_CreateText} 0 13u 100% 12u "$NameString"
Pop $NameCtrl
nsDialogs::Show
FunctionEnd
Function MyCustomPageLeave
${NSD_GetText} $NameCtrl $NameString
${If} $NameString == ""
MessageBox MB_ICONSTOP "You must provide a name!"
Abort
${EndIf}
FunctionEnd
Section
; TODO: Write $NameString to config file
SectionEndhttps://stackoverflow.com/questions/54442595
复制相似问题