nsis离开自定义页面保存设置

24 篇文章 1 订阅
这是群里一位朋友问他的自定义页面设置完成后返回上一步无法保存怎么办写的一个小例子,拓展了下,只要不关闭,不管上一步还是进入下一步返回都可以保留原页面设置

!include LogicLib.nsh
!include nsdialogs.nsh

XPStyle on
Page components
Page custom nsdialogspage
Page directory
OutFile "test.exe"
Name "test"
Section "test"
SectionEnd
Var
Initialpage
Var Text
Var Text2
Function nsdialogspage
nsDialogs::Create 1018
  
Pop $0
  ${If} $Initialpage
== ''
   
StrCpy $Text "默认值"
   
StrCpy $Initialpage "1"
  
${EndIf}
  ${NSD_CreateText}
0 0 80u 12u $Text
  
Pop $Text2
  ${NSD_OnChange} $Text2
OnChange
nsDialogs::Show
FunctionEnd

Function
OnChange
  
Pop $Text2
  ${NSD_GetText} $Text2 $Text
FunctionEnd


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nsis是一款基于脚本的安装制作工具,而duilib是一款界面库,用于开发Windows桌面应用程序的用户界面。在nsis使用duilib自定义界面非常简单。 首先,我们需要下载并安装duilib,然后在nsis的脚本中引入duilib的库文件和头文件。我们可以使用duilib提供的许多控件和样式,也可以根据需要自定义界面。 在nsis脚本中,使用duilib的关键是通过调用duilib提供的函数来创建和管理界面控件,比如按钮、文本框、标签等。我们可以设置控件的属性,如位置、大小、背景色等,并添加事件处理函数。 例如,我们可以通过以下代码创建一个窗口,并在窗口中添加一个按钮: ``` !include "MUI2.nsh" !define MUI_PAGE_CUSTOMFUNCTION_SHOW customPageCreate !insertmacro MUI_PAGE_CUSTOM nsDialogsPage nsDialogsPageLeave var hMainWnd Function customPageCreate nsDialogs::Create 1018 Pop $hMainWnd ${NSD_CreateButton} 0 0 100% 100% "点击我!" Pop $0 ${NSD_OnClick} $0 buttonClicked nsDialogs::Show FunctionEnd Function buttonClicked MessageBox MB_OK "按钮被点击了!" FunctionEnd ``` 上述代码中,我们首先使用`nsDialogs::Create`函数创建了一个窗口,并将其句柄保存在变量`$hMainWnd`中。然后,使用`NSD_CreateButton`函数创建了一个按钮,并将其句柄保存在变量$0中。接下来,我们使用`${NSD_OnClick}`函数将按钮和一个事件处理函数`buttonClicked`关联起来。最后,使用`nsDialogs::Show`函数显示窗口。 当按钮被点击时,事件处理函数`buttonClicked`会被调用,弹出一个消息框显示提示信息。 总结而言,使用nsis和duilib可以轻松地自定义界面。我们可以利用duilib提供的函数和样式,创建各种控件,并通过事件处理函数来实现各种界面交互逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值