之前有位朋友问我如何实现下面的界面效果,我借鉴了一下ansifa的方法,完成界面上控件的初步实现,如下图效果:
分享代码如下:
SetCompressor /SOLID lzmaSetCompressorDictSize 32XPStyle onName “Welcome_setuptype”OutFile “Welcome_setuptype.exe”!include “MUI.nsh”;页面自定义函数!define MUI_PAGE_CUSTOMFUNCTION_PRE Pre!define MUI_PAGE_CUSTOMFUNCTION_SHOW Show!define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave; 欢迎页面!insertmacro MUI_PAGE_WELCOME;选择安装方式” “请选择软件的安装方式。”!insertmacro MUI_PAGE_COMPONENTS; 安装目录选择页面!insertmacro MUI_PAGE_DIRECTORY; 安装过程页面!insertmacro MUI_PAGE_INSTFILES; 安装界面包含的语言设置!insertmacro MUI_LANGUAGE “SimpChinese”Function pre!insertmacro MUI_INSTALLOPTIONS_READ $0 “ioSpecial.ini” “Settings” “Numfields” ;读取控件数目IntOp $R0 $0 + 4 ;添加4个控件!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 3” “Text” “这个向导将指引你完成安装:”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 3” “Bottom” “60” ;修小原有的文字框,避免遮盖!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Settings” “Numfields” “$R0”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Type” “RadioButton”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “State” “1”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Text” “标准安装”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Flags” “”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Left” “120”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Right” “168”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Top” “70”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 4” “Bottom” “85”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Type” “RadioButton”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “State” “0”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Text” “自定义安装”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Flags” “”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Left” “120”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Right” “178”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Top” “120”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 5” “Bottom” “135”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Type” “Label”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Text” “本软件将安装到:\r\nC:\\Program Files\\software”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Left” “130”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Right” “250”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Top” “90”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 6” “Bottom” “110”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Type” “Label”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Text” “自定义所有的安装选项,推荐有经验的用户使用”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Left” “130”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Right” “300”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Top” “140”!insertmacro MUI_INSTALLOPTIONS_WRITE “ioSpecial.ini” “Field 7” “Bottom” “150”FunctionEndFunction showPush $0GetDlgItem $0 $MUI_HWND 1203SetCtlColors $0 “000000” “FFFFFF” ;设置控件背景为白白,文字为黑色GetDlgItem $0 $MUI_HWND 1204SetCtlColors $0 “000000” “FFFFFF”GetDlgItem $0 $MUI_HWND 1205SetCtlColors $0 “000000” “FFFFFF”GetDlgItem $0 $MUI_HWND 1206SetCtlColors $0 “000000” “FFFFFF”Pop $0FunctionEndFunction leaveReadINIStr $R0 “$PLUGINSDIR\ioSpecial.ini” “Field 4” State ;读取控件的状态,这里是读取StrCmp $R0 “1” 0 +2MessageBox MB_OK “标准安装(推荐)”ReadINIStr $R0 “$PLUGINSDIR\ioSpecial.ini” “Field 5” StateStrCmp $R0 “1” 0 +2MessageBox MB_OK “自定义安装”FunctionEndSection “-Dreams8”SectionEnd
-_- welcome man~
新的博主 枫叶 软件测试经理
晕,也不用报职位吧~~哈哈
职位报出来好 -_-说不定以后还能在这里遇到一些你的同行业人事