|
|
- //_SUB MainWindow,W300H360,软件列表选择,,%windir%\system32\shell32.dll#130,15,,-top -disminb
- SET &SB_VERT=1
- SET &SIF_RANGE=0x0001
- ENVI &TotalCount=0
- ENVI &AllList=
- ENVI &Checkbox_All=0
- _SUB MainWindow,W300H360,软件列表选择,,%windir%\system32\shell32.dll#316,15,,-top -disminb
- SWIN SWIN1:Page11:-SWINMAIN,L10T33W273H240,,0x140
- ENVI @SWINMAIN:SWIN1.ID=?&Swin1_Wid //画框ID
- ENVI @SWINMAIN.ID=?&SWINMAIN_Wid //与Page11窗口ID相同%&Page1_WID%
- ENVI @SWINMAIN.bkcolor=#FFFFFF
- LABE -trans TitleLabel,L10T10W200H20,请选择要安装的软件:
- ITEM OKButton,L200T285W84H30,开始安装,CALL OnOK
- TIME Timer1,300,call SetSwin
- CHEK Checkbox_All,L11T290W250H20,全选/全不选,call CheckboxAllChanged,1
- _END
- _SUB Page11,W600H240,,,,:0xFFFFFF
- //ENVI @this.bkcolor=0x000000
- ENVI &YPos=10
- ENVI &Index=0
- ENVI &inList=0
- SET$ NL=0D 0A
- READ list.ini,*,&&AllContent
- FORX *NL &AllContent,&&line,
- {
- mstr * &line1=1,1,&line
- find $%&line1%=[,
- {
- find $%&line%=[softlist], ENVI &inList=1!ENVI &inList=0
- }!
- {
- IFEX $%&inList%=1,
- {
- FIND $%&line%=, exit -
-
- // 解析软件名称、路径、默认是否选中
- MSTR * -delims:| SoftName,SoftPath,SoftStatus=<1><2><3>&line
-
- CHEK Checkbox_%&Index%,L40T%&YPos%W180H20,%SoftName%
- IFEX $%SoftStatus%=0,ENVI @Checkbox_%&Index%.Check=1
- IFEX $%SoftStatus%=2,team ENVI @Checkbox_%&Index%.Check=1|ENVI @Checkbox_%&Index%.Enable=0
-
- ENVI &Checkbox_Name=Checkbox_%&Index%
- ENVI &Checkbox_Name_Path=%SoftPath%
- ENVI Checkbox_Name_Status=%SoftStatus%
- CALC &YPos=%&YPos% + 25
- CALC &Index=%&Index% + 1
-
- ENVI &AllList=%Checkbox_Name_Path%%NL%%&AllList%
- }
- }
- }
- ENVI &TotalCount=%&Index%
- //Find $%Checkbox_All.Check%=1,mess 全选!mess 全不选
-
- _END
- _SUB SetSwin *
- ENVI @Timer1.*del=
- CALC #Hv=%&TotalCount%*26
- ENVI @@POS=%&SWINMAIN_Wid%::::%Hv%
- @TEAM SET-int inf=%&SIF_RANGE%:4| SET-int inf=%Hv%:12
- CALL $--qd user32.dll,SetScrollInfo,#%SWIN1_Wid%,#%SB_VERT%,*&inf
- _END
- _SUB CheckboxAllChanged
- ENVI &i=0
- Find $ENVI @%&Swin1_Wid%:Checkbox_%&i%.Check=1,
- {
- MESS %Checkbox_All.Check%:::%&TotalCount%
- LOOP #%&i% < %&TotalCount%,
- {
- ENVI @Checkbox_%&i%.Check=1
- CALC &i=%&i% + 1
- }
- EXIT _Sub
- }
- Find $ENVI @%&Swin1_Wid%:Checkbox_%&i%.Check=0,
- {
- LOOP #%&i% < %&TotalCount%,
- {
- ENVI @Checkbox_%&i%.Check=0
- CALC &i=%&i% + 1
- }
- }
- _END
- _SUB OnOK
- ENVI &InstPath=
- ENVI &Index=0
- LOOP #%&Index% <= %&TotalCount%,
- {
- READ -*,%&Index%,&InstPath,&AllList
- Find $%Checkbox_%&Index%.Check%=1,TEAM mess Checkbox_%&Index%选中\n%&InstPath%
- CALC &Index=%&Index% + 1
- }
- _END
- CALL @MainWindow
复制代码 |
|