单击下一步按钮时如何显示消息?
How to show Message when Next button clicked?
我创建了自定义页面并想知道如何在单击“下一步”按钮时检查我的输入是否为空。
流程是:
1.设置输入值
2.点击下一步
3.如果为空则显示"Error, empty. set all the inputs"
我试过使用 nsDialog onChange 和 onClick 但没能得到这个
Function lprConfigServerUserXml
nsDialogs::Create 1018
Pop [=12=]
GetFunctionAddress [=13=] OnClick
nsDialogs::OnClick [=14=]
${NSD_CreateLabel} 0 5u 75% 10u "* Server Address "
Pop [=12=]
${NSD_CreateText} 0 15u 100% 12u ""
Pop $SERVER_ADDRESS
${NSD_OnChange} $SERVER_ADDRESS setSeverValue
${NSD_CreateLabel} 0 35u 75% 10u "* User Name "
Pop [=12=]
${NSD_CreateText} 0 45u 100% 12u ""
Pop $USER_NAME
${NSD_OnChange} $USER_NAME setUserValue
${NSD_CreateLabel} 0 65u 75% 10u "* 密码 "<br/>
弹出 $0<br/>
${NSD_CreateText} 0 75u 100% 12u ""<br/>
Pop $PASSWORD<br/>
${NSD_OnChange} $PASSWORD setPasswordValue<br/>
nsDialogs::Show<br/>
FunctionEnd`
Function OnClick
Pop [=33=] # HWND
MessageBox MB_OK "Error, empty. Set all inputs"
FunctionEnd
到目前为止还没有结果:(
页面离开回调函数在用户点击下一步按钮时被调用。您可以调用 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 [=10=]
${NSD_CreateLabel} 0 0 100% 12u "Name:"
Pop [=10=]
${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
SectionEnd
我创建了自定义页面并想知道如何在单击“下一步”按钮时检查我的输入是否为空。
流程是:
1.设置输入值
2.点击下一步
3.如果为空则显示"Error, empty. set all the inputs"
我试过使用 nsDialog onChange 和 onClick 但没能得到这个
Function lprConfigServerUserXml
nsDialogs::Create 1018
Pop [=12=]
GetFunctionAddress [=13=] OnClick
nsDialogs::OnClick [=14=]
${NSD_CreateLabel} 0 5u 75% 10u "* Server Address "
Pop [=12=]
${NSD_CreateText} 0 15u 100% 12u ""
Pop $SERVER_ADDRESS
${NSD_OnChange} $SERVER_ADDRESS setSeverValue
${NSD_CreateLabel} 0 35u 75% 10u "* User Name "
Pop [=12=]
${NSD_CreateText} 0 45u 100% 12u ""
Pop $USER_NAME
${NSD_OnChange} $USER_NAME setUserValue
${NSD_CreateLabel} 0 65u 75% 10u "* 密码 "<br/>
弹出 $0<br/>
${NSD_CreateText} 0 75u 100% 12u ""<br/>
Pop $PASSWORD<br/>
${NSD_OnChange} $PASSWORD setPasswordValue<br/>
nsDialogs::Show<br/>
FunctionEnd`
Function OnClick
Pop [=33=] # HWND
MessageBox MB_OK "Error, empty. Set all inputs"
FunctionEnd
到目前为止还没有结果:(
页面离开回调函数在用户点击下一步按钮时被调用。您可以调用 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 [=10=]
${NSD_CreateLabel} 0 0 100% 12u "Name:"
Pop [=10=]
${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
SectionEnd