【发布时间】:2015-09-16 20:47:14
【问题描述】:
!include "nsDialogs.nsh"
!include "LogicLib.nsh"
Name "Test "
OutFile Setup.exe
XPStyle on
Page Custom radioButton radioButtonClick
Page instfiles
var Group1Radio1
var Group1Radio2
var dialog
var hwnd
var label
Function radioButton
nsDialogs::Create 1018
Pop $dialog
${NSD_CreateLabel} 0 0 100% 6% "Please choose"
Pop $label
${NSD_CreateRadioButton} 0 12% 40% 6% "1"
Pop $Group1Radio1
${NSD_AddStyle} $Group1Radio1 ${WS_GROUP}
${NSD_OnClick} $Group1Radio1 radioButtonClick
${NSD_CreateRadioButton} 0 20% 40% 6% "2"
Pop $Group1Radio2
${NSD_OnClick} $Group1Radio2 radioButtonClick
nsDialogs::Show
FunctionEnd
Function radioButtonClick
Pop $hwnd
${If} $hwnd == $Group1Radio1
${NSD_CreateLabel} 0 40% 40% 6% "1 Selected"
${NSD_OnChange} $Group1Radio1 radioButton
${ElseIf} $hwnd == $Group1Radio2
${NSD_CreateLabel} 0 40% 40% 6% "2 Selected"
${NSD_OnChange} $Group1Radio2 radioButton
${EndIf}
FunctionEnd
Section
SetOutPath "$DESKTOP"
SectionEnd
当此代码运行时,选择的第一个按钮的名称会更正显示在“Function radioButtonClick”中的标签上,但是当您在此之后选择其他内容时,它不会更新,并且按钮标签会被交换.
所以基本上,会发生什么:
单击单选按钮 1 -> 显示“1 个已选择” 然后, 单击单选按钮 2 -> 没有任何反应。 然后, 再次单击单选按钮 1 -> 显示“2 selected” 最后, 再次单击单选按钮 2 -> 显示“1 selected”
我该如何解决这个问题?
提前谢谢你。
【问题讨论】: