📄 ui_slider.lst
字号:
\ 0144 FD6607 LD H,(IY+7)
\ 0147 ED42 SBC HL,BC
\ 0149 4D LD C,L
\ 014A 44 LD B,H
\ 014B 117800 LD DE,120
\ 014E CD0000 CALL LWRD ?S_MUL_L02
\ 0151 FD4E02 LD C,(IY+2)
\ 0154 FD4603 LD B,(IY+3)
\ 0157 FD6E04 LD L,(IY+4)
\ 015A FD6605 LD H,(IY+5)
\ 015D A7 AND A
\ 015E ED42 SBC HL,BC
\ 0160 4D LD C,L
\ 0161 44 LD B,H
\ 0162 CD0000 CALL LWRD ?SS_DIV_L02
\ 0165 212D00 LD HL,45
\ 0168 19 ADD HL,DE
\ 0169 DD75F8 LD (IX-8),L
106
107 slider_atoi4 (file_name,slider->value);
\ 016C FD4E06 LD C,(IY+6)
\ 016F FD4607 LD B,(IY+7)
\ 0172 110000 LD DE,file_name
\ 0175 3E00 LD A,BYTE3 slider_atoi4
\ 0177 210000 LD HL,LWRD slider_atoi4
\ 017A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
108 StrLength=(BYTE)strlen(file_name);
\ 017D 210000 LD HL,file_name
\ 0180 CD0000 CALL LWRD ?STRLEN_L11
\ 0183 DD75FE LD (IX-2),L
109
110 ResShowPic(SSBCK,0,0);
\ 0186 0E00 LD C,0
\ 0188 C5 PUSH BC
\ 0189 11DD00 LD DE,221
\ 018C 3E00 LD A,BYTE3 ResShowPic
\ 018E 210000 LD HL,LWRD ResShowPic
\ 0191 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0194 F1 POP AF
111 ResShowMultiString(slider->title, slider->string_id, menuhead_s_pos_x_def, menuhead_s_pos_y_def);
\ 0195 0E94 LD C,148
\ 0197 C5 PUSH BC
\ 0198 0E16 LD C,22
\ 019A C5 PUSH BC
\ 019B FD4E0A LD C,(IY+10)
\ 019E FD5E00 LD E,(IY+0)
\ 01A1 FD5601 LD D,(IY+1)
\ 01A4 3E00 LD A,BYTE3 ResShowMultiString
\ 01A6 210000 LD HL,LWRD ResShowMultiString
\ 01A9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01AC F1 POP AF
\ 01AD F1 POP AF
112
113 // 画滑动杆
114 main_ResShowPic(SSLIDER,slider_pox_x_def,slider_pox_y_def);
\ 01AE 0E37 LD C,55
\ 01B0 C5 PUSH BC
\ 01B1 0E2D LD C,45
\ 01B3 11DE00 LD DE,222
\ 01B6 CD7104 CALL LWRD ?0110
\ 01B9 F1 POP AF
115 // 画滑动游标
116 main_ResShowPic(SLIDPTR, value, slider_cursor_y_def);
\ 01BA 0E37 LD C,55
\ 01BC C5 PUSH BC
\ 01BD DD4EF8 LD C,(IX-8)
\ 01C0 11DC00 LD DE,220
\ 01C3 CD7104 CALL LWRD ?0110
\ 01C6 F1 POP AF
117
118 // 显示当前值
119 if(StrLength==1)
\ 01C7 DD46FE LD B,(IX-2)
\ 01CA 05 DEC B
\ 01CB 2020 JR NZ,?0026
\ 01CD ?0025:
120 main_ResShowPic(FMNUM0+file_name[0]-0x30,98,80);
\ 01CD 0E50 LD C,80
\ 01CF C5 PUSH BC
\ 01D0 0E62 LD C,98
\ 01D2 ED5B0000 LD DE,(file_name)
\ 01D6 C36A02 JP LWRD ?0091
\ 01D9 210900 LD HL,9
\ 01DC C36F02 JP LWRD ?0094
\ 01DF EB EX DE,HL
\ 01E0 C37102 JP LWRD ?0108
\ 01E3 210000 LD HL,LWRD main_ResShowPic
\ 01E6 C37602 JP LWRD ?0104
\ 01E9 F1 POP AF
\ 01EA C37A02 JP LWRD ?0033
\ 01ED ?0026:
121 else if(StrLength==2)
\ 01ED DD46FE LD B,(IX-2)
\ 01F0 05 DEC B
\ 01F1 05 DEC B
\ 01F2 2053 JR NZ,?0029
\ 01F4 ?0028:
122 {
123 if(file_name[0]=='-')
\ 01F4 3A0000 LD A,(file_name)
\ 01F7 FE2D CP 45
\ 01F9 2024 JR NZ,?0031
\ 01FB ?0030:
124 {
125 main_ResShowPic(MENUNEG,90,83);
\ 01FB 0E53 LD C,83
\ 01FD C5 PUSH BC
\ 01FE 0E5A LD C,90
\ 0200 116B00 LD DE,107
\ 0203 CD7104 CALL LWRD ?0110
\ 0206 F1 POP AF
126 main_ResShowPic(FMNUM0+file_name[1]-0x30,108,80);
\ 0207 0E50 LD C,80
\ 0209 C5 PUSH BC
\ 020A 0E6C LD C,108
\ 020C 1824 JR ?0090
\ 020E 1600 LD D,0
\ 0210 185A JR ?0102
\ 0212 185B JR ?0094
\ 0214 EB EX DE,HL
\ 0215 185A JR ?0108
\ 0217 210000 LD HL,LWRD main_ResShowPic
\ 021A 185A JR ?0104
\ 021C F1 POP AF
127 }
128 else
\ 021D 185B JR ?0033
\ 021F ?0031:
129 {
130 main_ResShowPic(FMNUM0+file_name[0]-0x30,83,80);
\ 021F 0E50 LD C,80
\ 0221 C5 PUSH BC
\ 0222 0E53 LD C,83
\ 0224 ED5B0000 LD DE,(file_name)
\ 0228 50 LD D,B
\ 0229 CD6C04 CALL LWRD ?0111
\ 022C F1 POP AF
131 main_ResShowPic(FMNUM0+file_name[1]-0x30,106,80);
\ 022D 0E50 LD C,80
\ 022F C5 PUSH BC
\ 0230 0E6A LD C,106
\ 0232 ?0090:
\ 0232 ED5B0100 LD DE,(file_name+1)
\ 0236 1832 JR ?0091
\ 0238 1832 JR ?0102
\ 023A 1833 JR ?0094
\ 023C EB EX DE,HL
\ 023D 1832 JR ?0108
\ 023F 210000 LD HL,LWRD main_ResShowPic
\ 0242 1832 JR ?0104
\ 0244 F1 POP AF
\ 0245 ?0032:
132 }
133 }
134 else
\ 0245 1833 JR ?0033
\ 0247 ?0029:
135 {
136 main_ResShowPic(FMNUM0+file_name[0]-0x30,75,80);
\ 0247 0E50 LD C,80
\ 0249 C5 PUSH BC
\ 024A 0E4B LD C,75
\ 024C ED5B0000 LD DE,(file_name)
\ 0250 CD6A04 CALL LWRD ?0112
\ 0253 F1 POP AF
137 main_ResShowPic(FMNUM0+file_name[1]-0x30,98,80);
\ 0254 0E50 LD C,80
\ 0256 C5 PUSH BC
\ 0257 0E62 LD C,98
\ 0259 ED5B0100 LD DE,(file_name+1)
\ 025D CD6A04 CALL LWRD ?0112
\ 0260 F1 POP AF
138 main_ResShowPic(FMNUM0+file_name[2]-0x30,121,80);
\ 0261 0E50 LD C,80
\ 0263 C5 PUSH BC
\ 0264 0E79 LD C,121
\ 0266 ED5B0200 LD DE,(file_name+2)
\ 026A ?0091:
\ 026A 1600 LD D,0
\ 026C ?0102:
\ 026C 210900 LD HL,9
\ 026F ?0094:
\ 026F 19 ADD HL,DE
\ 0270 EB EX DE,HL
\ 0271 ?0108:
\ 0271 3E00 LD A,BYTE3 main_ResShowPic
\ 0273 210000 LD HL,LWRD main_ResShowPic
\ 0276 ?0104:
\ 0276 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0279 F1 POP AF
\ 027A ?0033:
\ 027A ?0027:
139 }
140 need_draw = FALSE;
\ 027A DD36F700 LD (IX-9),0
\ 027E ?0024:
141 }
142
143 //handle message
144 key = ap_get_message();
\ 027E CD0000 CALL LWRD ap_get_message
\ 0281 DD77F4 LD (IX-12),A
145 switch( key)
\ 0284 5F LD E,A
\ 0285 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0288 0F00 DEFW 15
\ 028A 03 DEFB 3
\ 028B 04 DEFB 4
\ 028C 05 DEFB 5
\ 028D 06 DEFB 6
\ 028E 1E DEFB 30
\ 028F 21 DEFB 33
\ 0290 23 DEFB 35
\ 0291 24 DEFB 36
\ 0292 25 DEFB 37
\ 0293 26 DEFB 38
\ 0294 30 DEFB 48
\ 0295 43 DEFB 67
\ 0296 44 DEFB 68
\ 0297 45 DEFB 69
\ 0298 46 DEFB 70
\ 0299 5F03 DEFW ?0052
\ 029B 3103 DEFW ?0041
\ 029D 3D03 DEFW ?0044
\ 029F 3103 DEFW ?0041
\ 02A1 3D03 DEFW ?0044
\ 02A3 6903 DEFW ?0093
\ 02A5 4903 DEFW ?0047
\ 02A7 4903 DEFW ?0047
\ 02A9 4903 DEFW ?0047
\ 02AB 4903 DEFW ?0047
\ 02AD 6903 DEFW ?0093
\ 02AF 5303 DEFW ?0049
\ 02B1 B902 DEFW ?0035
\ 02B3 F502 DEFW ?0038
\ 02B5 B902 DEFW ?0035
\ 02B7 F502 DEFW ?0038
\ 02B9 ?0035:
146 {
147 case AP_KEY_NEXT:
148 case AP_KEY_VOLADD:
149 if((slider->value + slider->step) <= slider->max)
\ 02B9 FD6E08 LD L,(IY+8)
\ 02BC FD6609 LD H,(IY+9)
\ 02BF FD4E06 LD C,(IY+6)
\ 02C2 FD4607 LD B,(IY+7)
\ 02C5 09 ADD HL,BC
\ 02C6 4D LD C,L
\ 02C7 44 LD B,H
\ 02C8 FD6E04 LD L,(IY+4)
\ 02CB FD6605 LD H,(IY+5)
\ 02CE F680 OR 128
\ 02D0 ED42 SBC HL,BC
\ 02D2 E2D602 JP PO,?0086
\ 02D5 AC XOR H
\ 02D6 ?0086:
\ 02D6 FA8103 JP M,?0056
\ 02D9 ?0036:
150 {
151 slider->value += slider->step;
\ 02D9 210600 LD HL,6
\ 02DC FDE5 PUSH IY
\ 02DE C1 POP BC
\ 02DF 09 ADD HL,BC
\ 02E0 7E LD A,(HL)
\ 02E1 FD8608 ADD A,(IY+8)
\ 02E4 77 LD (HL),A
\ 02E5 23 INC HL
\ 02E6 7E LD A,(HL)
\ 02E7 FD8E09 ADC A,(IY+9)
\ 02EA 183A JR ?0100
152 value_changed = TRUE;
153 need_draw = TRUE;
\ 02EC DD36F601 LD (IX-10),1
\ 02F0 1839 JR ?0105
\ 02F2 ?0037:
154 }
155
156 break;
\ 02F2 C38103 JP LWRD ?0056
\ 02F5 ?0038:
157
158
159 case AP_KEY_PREV:
160 case AP_KEY_VOLSUB:
161 if((slider->value - slider->step) >= slider->min)
\ 02F5 FD4E02 LD C,(IY+2)
\ 02F8 FD4603 LD B,(IY+3)
\ 02FB FD5E08 LD E,(IY+8)
\ 02FE FD5609 LD D,(IY+9)
\ 0301 FD6E06 LD L,(IY+6)
\ 0304 FD6607 LD H,(IY+7)
\ 0307 A7 AND A
\ 0308 ED52 SBC HL,DE
\ 030A F680 OR 128
\ 030C ED42 SBC HL,BC
\ 030E E21203 JP PO,?0087
\ 0311 AC XOR H
\ 0312 ?0087:
\ 0312 FA8103 JP M,?0056
\ 0315 ?0039:
162 {
163 slider->value -= slider->step;
\ 0315 210600 LD HL,6
\ 0318 FDE5 PUSH IY
\ 031A C1 POP BC
\ 031B 09 ADD HL,BC
\ 031C 7E LD A,(HL)
\ 031D FD9608 SUB (IY+8)
\ 0320 77 LD (HL),A
\ 0321 23 INC HL
\ 0322 7E LD A,(HL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -