📄 ui_pop_up_list.lst
字号:
\ 00DA 010000 LD BC,0
\ 00DD 11FFFF LD DE,65535
\ 00E0 CD0000 CALL LWRD SetBackgdColor
142
143 if(callback != NULL)
\ 00E3 DD7E0A LD A,(IX+10)
\ 00E6 DDB60B OR (IX+11)
\ 00E9 DDB60C OR (IX+12)
\ 00EC 2803 JR Z,?0013
\ 00EE ?0012:
144 callback(active);
\ 00EE CD5205 CALL LWRD ?0095
\ 00F1 ?0013:
145
146 for(i=0; i<LIST_NUM_ONE_PAGE; i++)
\ 00F1 AF XOR A
\ 00F2 DD77E8 LD (IX-24),A
\ 00F5 DD77E9 LD (IX-23),A
\ 00F8 ?0015:
\ 00F8 010680 LD BC,32774
\ 00FB DD6EE8 LD L,(IX-24)
\ 00FE DD66E9 LD H,(IX-23)
\ 0101 78 LD A,B
\ 0102 AC XOR H
\ 0103 67 LD H,A
\ 0104 ED42 SBC HL,BC
\ 0106 D21B02 JP NC,?0014
\ 0109 ?0016:
147 {
148 if(n+i >= list->total) break; //处理不足LIST_NUM_ONE_PAGE个的情况
\ 0109 FD4E02 LD C,(IY+2)
\ 010C FD4603 LD B,(IY+3)
\ 010F DD6EE8 LD L,(IX-24)
\ 0112 DD66E9 LD H,(IX-23)
\ 0115 DD5EF4 LD E,(IX-12)
\ 0118 DD56F5 LD D,(IX-11)
\ 011B 19 ADD HL,DE
\ 011C CD0000 CALL LWRD ?SS_CMP_L02
\ 011F D21B02 JP NC,?0014
\ 0122 ?0018:
\ 0122 ?0019:
149 if(n+i==active)
\ 0122 DD6EE8 LD L,(IX-24)
\ 0125 DD66E9 LD H,(IX-23)
\ 0128 4B LD C,E
\ 0129 42 LD B,D
\ 012A 09 ADD HL,BC
\ 012B DD4EE0 LD C,(IX-32)
\ 012E DD46E1 LD B,(IX-31)
\ 0131 A7 AND A
\ 0132 ED42 SBC HL,BC
\ 0134 C2C601 JP NZ,?0021
\ 0137 ?0020:
150 {
151 //======================================//
152 ResShowPic(resID, 0, menu_pos_list[i]-1);
\ 0137 210000 LD HL,menu_pos_list
\ 013A DD4EE8 LD C,(IX-24)
\ 013D DD46E9 LD B,(IX-23)
\ 0140 09 ADD HL,BC
\ 0141 7E LD A,(HL)
\ 0142 C6FF ADD A,255
\ 0144 5F LD E,A
\ 0145 D5 PUSH DE
\ 0146 0E00 LD C,0
\ 0148 CDF804 CALL LWRD ?0090
\ 014B F1 POP AF
153 ResShowPic(MENUARR1, constX, menu_pos_list[i]-1);
\ 014C 210000 LD HL,menu_pos_list
\ 014F DD4EE8 LD C,(IX-24)
\ 0152 DD46E9 LD B,(IX-23)
\ 0155 09 ADD HL,BC
\ 0156 7E LD A,(HL)
\ 0157 C6FF ADD A,255
\ 0159 5F LD E,A
\ 015A D5 PUSH DE
\ 015B DD4EFC LD C,(IX-4)
\ 015E 11B300 LD DE,179
\ 0161 CDFE04 CALL LWRD ?0089
\ 0164 F1 POP AF
154
155 SetPenColor(Color_WHITE_def);
\ 0165 CD0605 CALL LWRD ?0091
156 SetBackgdColor(0x00003358);
157 TextOutRect(&tregion ,1);
\ 0168 39 ADD HL,SP
\ 0169 CD6405 CALL LWRD ?0096
158 ResShowMultiString(list->strid[active], list->string_id,3, menu_pos_list[i]);
\ 016C 4E LD C,(HL)
\ 016D C5 PUSH BC
\ 016E 0E03 LD C,3
\ 0170 C5 PUSH BC
\ 0171 FD4E08 LD C,(IY+8)
\ 0174 FD6E00 LD L,(IY+0)
\ 0177 FD6601 LD H,(IY+1)
\ 017A E5 PUSH HL
\ 017B DD6EE0 LD L,(IX-32)
\ 017E DD66E1 LD H,(IX-31)
\ 0181 29 ADD HL,HL
\ 0182 EB EX DE,HL
\ 0183 E1 POP HL
\ 0184 19 ADD HL,DE
\ 0185 5E LD E,(HL)
\ 0186 23 INC HL
\ 0187 56 LD D,(HL)
\ 0188 3E00 LD A,BYTE3 ResShowMultiString
\ 018A 210000 LD HL,LWRD ResShowMultiString
\ 018D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0190 F1 POP AF
\ 0191 F1 POP AF
159 TextOutRect(&tregion ,0);
\ 0192 0E00 LD C,0
\ 0194 210600 LD HL,6
\ 0197 39 ADD HL,SP
160
161 if(list->total > LIST_NUM_ONE_PAGE)
\ 0198 CDE804 CALL LWRD ?0088
\ 019B 3073 JR NC,?0027
\ 019D ?0022:
162 {
163 key = (list->total-LIST_NUM_ONE_PAGE-1)/LIST_NUM_ONE_PAGE;
\ 019D CD9204 CALL LWRD ?0085
164 tmp = 113-menuptr_height_list[key]; //注意,最多九级!!!
165 if(tmp%(list->total-1)>=active)
\ 01A0 CD0000 CALL LWRD ?SS_DIV_L02
\ 01A3 43 LD B,E
\ 01A4 DD7EE0 LD A,(IX-32)
\ 01A7 3808 JR C,?0025
\ 01A9 ?0024:
166 ResShowPic(MENUPTR1+key, 166, 19+active+(tmp/(list->total-1))*active);
\ 01A9 CD0000 CALL LWRD ?C_MUL_L01
\ 01AC DD86E0 ADD A,(IX-32)
\ 01AF 1803 JR ?0078
167 else
\ 01B1 ?0025:
168 ResShowPic(MENUPTR1+key, 166, 19+tmp%(list->total-1)+(tmp/(list->total-1))*active);
\ 01B1 CD7305 CALL LWRD ?0097
\ 01B4 ?0078:
\ 01B4 C613 ADD A,19
\ 01B6 4F LD C,A
\ 01B7 C5 PUSH BC
\ 01B8 0EA6 LD C,166
\ 01BA DD5EFA LD E,(IX-6)
\ 01BD 1600 LD D,0
\ 01BF 21BA00 LD HL,186
\ 01C2 19 ADD HL,DE
\ 01C3 EB EX DE,HL
\ 01C4 1846 JR ?0082
\ 01C6 ?0026:
\ 01C6 ?0023:
169 }
170 }
171 else
\ 01C6 ?0021:
172 {
173 SetPenColor(Color_BLACK_def);
\ 01C6 CD1E05 CALL LWRD ?0092
174 SetBackgdColor(Color_MENU_def);
175 TextOutRect(&tregion ,1);
\ 01C9 39 ADD HL,SP
\ 01CA CD6405 CALL LWRD ?0096
176 ResShowMultiString(list->strid[n+i], list->string_id,3, menu_pos_list[i]);
\ 01CD 5E LD E,(HL)
\ 01CE D5 PUSH DE
\ 01CF 1E03 LD E,3
\ 01D1 D5 PUSH DE
\ 01D2 FD4E08 LD C,(IY+8)
\ 01D5 FD6E00 LD L,(IY+0)
\ 01D8 FD6601 LD H,(IY+1)
\ 01DB E5 PUSH HL
\ 01DC DD6EE8 LD L,(IX-24)
\ 01DF 60 LD H,B
\ 01E0 DD5EF4 LD E,(IX-12)
\ 01E3 DD56F5 LD D,(IX-11)
\ 01E6 19 ADD HL,DE
\ 01E7 29 ADD HL,HL
\ 01E8 EB EX DE,HL
\ 01E9 E1 POP HL
\ 01EA 19 ADD HL,DE
\ 01EB 5E LD E,(HL)
\ 01EC 23 INC HL
\ 01ED 56 LD D,(HL)
\ 01EE 3E00 LD A,BYTE3 ResShowMultiString
\ 01F0 210000 LD HL,LWRD ResShowMultiString
\ 01F3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01F6 F1 POP AF
\ 01F7 F1 POP AF
177 TextOutRect(&tregion ,0);
\ 01F8 0E00 LD C,0
\ 01FA 210600 LD HL,6
\ 01FD 39 ADD HL,SP
\ 01FE CD6405 CALL LWRD ?0096
178
179 ResShowPic(MENUARR, constX, menu_pos_list[i]-1);
\ 0201 7E LD A,(HL)
\ 0202 C6FF ADD A,255
\ 0204 4F LD C,A
\ 0205 C5 PUSH BC
\ 0206 DD4EFC LD C,(IX-4)
\ 0209 11B200 LD DE,178
\ 020C ?0082:
\ 020C CDFE04 CALL LWRD ?0089
\ 020F F1 POP AF
\ 0210 ?0027:
\ 0210 DD34E8 INC (IX-24)
\ 0213 2003 JR NZ,?0075
\ 0215 DD34E9 INC (IX-23)
\ 0218 ?0075:
\ 0218 C3F800 JP LWRD ?0015
\ 021B ?0014:
180 }
181 }
182
183 need_draw = FALSE;
\ 021B DD36FB00 LD (IX-5),0
\ 021F ?0008:
184 }//need draw
185 if(value_changed)
\ 021F AF XOR A
\ 0220 DDB6FD OR (IX-3)
\ 0223 CA6403 JP Z,?0029
\ 0226 ?0028:
186 {
187 ///-show_active_list1(list,old_active,active);
188
189 //---------------------//
190 //清除旧的活动菜单项
191 tmp = old_active%6;
\ 0226 010600 LD BC,6
\ 0229 DD5EF2 LD E,(IX-14)
\ 022C DD56F3 LD D,(IX-13)
\ 022F CD8805 CALL LWRD ?0098
192 if(list->total > LIST_NUM_ONE_PAGE)
\ 0232 CDEC04 CALL LWRD ?0087
\ 0235 210000 LD HL,menu_pos_list
\ 0238 4B LD C,E
\ 0239 42 LD B,D
\ 023A 300D JR NC,?0031
\ 023C ?0030:
193 ResShowPic(MENUBCK3, 0, menu_pos_list[tmp]-1);
\ 023C 09 ADD HL,BC
\ 023D 7E LD A,(HL)
\ 023E C6FF ADD A,255
\ 0240 4F LD C,A
\ 0241 C5 PUSH BC
\ 0242 0E00 LD C,0
\ 0244 11B700 LD DE,183
\ 0247 180B JR ?0079
194 else
\ 0249 ?0031:
195 ResShowPic(MENUBCK1, 0, menu_pos_list[tmp]-1);
\ 0249 09 ADD HL,BC
\ 024A 7E LD A,(HL)
\ 024B C6FF ADD A,255
\ 024D 4F LD C,A
\ 024E C5 PUSH BC
\ 024F 0E00 LD C,0
\ 0251 11B500 LD DE,181
\ 0254 ?0079:
\ 0254 CDFE04 CALL LWRD ?0089
\ 0257 F1 POP AF
\ 0258 ?0032:
196
197 SetPenColor(Color_BLACK_def);
\ 0258 CD1E05 CALL LWRD ?0092
198 SetBackgdColor(Color_MENU_def);
199
200 TextOutRect(&tregion ,1);
\ 025B 39 ADD HL,SP
\ 025C EB EX DE,HL
\ 025D CD0000 CALL LWRD TextOutRect
201 ResShowMultiString(list->strid[old_active],list->string_id, 3, menu_pos_list[tmp]);
\ 0260 210000 LD HL,menu_pos_list
\ 0263 DD4EE2 LD C,(IX-30)
\ 0266 DD46E3 LD B,(IX-29)
\ 0269 09 ADD HL,BC
\ 026A 5E LD E,(HL)
\ 026B D5 PUSH DE
\ 026C 1E03 LD E,3
\ 026E D5 PUSH DE
\ 026F FD4E08 LD C,(IY+8)
\ 0272 FD6E00 LD L,(IY+0)
\ 0275 FD6601 LD H,(IY+1)
\ 0278 E5 PUSH HL
\ 0279 DD6EF2 LD L,(IX-14)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -