NSIS基础总结(二)事件

初始化ini文件如下:

3.按钮事件应用
1)定义ini文件,在想添加事件的复选框或单选框上增加 Flags=NOTIFY
...ini文件...
[Field 1]
Type=GroupBox
Left=2
Right=-1
Top=20
Bottom=-55
Text=选择院/所:

[Field 2]
Type=RadioButton
Text=院级
Left=10
Right=40
Top=35
Bottom=65
State=1
Flags=NOTIFY

[Field 3]
Type=RadioButton
Text=所
Left=110
Right=210
Top=15
Bottom=25
State=0
Flags=NOTIFY


......

2) 当按钮被点击时候,自定义页面的离开方法中会拦截到
Page Custom PagePre PageLeave
Function PagePre
  !insertmacro MUI_HEADER_TEXT "设置院所" "请选择安装级别(院级/所级)"
  !insertmacro MUI_INSTALLOPTIONS_DISPLAY "page1.ini"
FunctionEnd

Function PageLeave
  
  ; 读取那个控件正在使用 state 就是 Field 后面的序数
	ReadINIStr $1 "$PLUGINSDIR\page1.ini" "Settings" "State" 
	StrCmp $1 0 NextBtn ; 点击下一步按钮
	StrCmp $1 3 RadioButton ; 点击 RadioButton -- 3 为控件的 FieldNum
	StrCmp $1 2 RadioButton ; 点击 RadioButton -- 2 为控件的 FieldNum

	RadioButton:
	;触发事件
		

	Abort ; 禁止进入下一页面,因为点击的并不是“下一步”按钮
	NextBtn:


FunctionEnd

你可能感兴趣的:(总结)