📄 ui_pop_up_list.lst
字号:
\ 0249 210000 LD HL,menu_pos_list
\ 024C DD4EEA LD C,(IX-22)
\ 024F DD46EB LD B,(IX-21)
\ 0252 09 ADD HL,BC
\ 0253 7E LD A,(HL)
\ 0254 C606 ADD A,6
\ 0256 5F LD E,A
\ 0257 D5 PUSH DE
\ 0258 0EC2 LD C,194
\ 025A 112E00 LD DE,46
\ 025D CD1301 CALL LWRD ?0069
\ 0260 F1 POP AF
112 ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_list[i]);
\ 0261 210000 LD HL,menu_pos_list
\ 0264 DD4EEA LD C,(IX-22)
\ 0267 DD46EB LD B,(IX-21)
\ 026A 09 ADD HL,BC
\ 026B 5E LD E,(HL)
\ 026C D5 PUSH DE
\ 026D 0E0A LD C,10
\ 026F 116C00 LD DE,108
\ 0272 CD1301 CALL LWRD ?0069
\ 0275 F1 POP AF
113 }
114
115
116 SetPenColor(Color_WHITE_def);
\ 0276 CD1B01 CALL LWRD ?0071
117 ResShowMultiString(list->strid[active], list->string_id,
118 menu_str_x_def, menu_pos_list[i]-1);
\ 0279 210000 LD HL,menu_pos_list
\ 027C DD4EEA LD C,(IX-22)
\ 027F DD46EB LD B,(IX-21)
\ 0282 09 ADD HL,BC
\ 0283 7E LD A,(HL)
\ 0284 C6FF ADD A,255
\ 0286 4F LD C,A
\ 0287 C5 PUSH BC
\ 0288 0E20 LD C,32
\ 028A C5 PUSH BC
\ 028B FD4E08 LD C,(IY+8)
\ 028E FD6E00 LD L,(IY+0)
\ 0291 FD6601 LD H,(IY+1)
\ 0294 E5 PUSH HL
\ 0295 DD6EE8 LD L,(IX-24)
\ 0298 DD66E9 LD H,(IX-23)
\ 029B 29 ADD HL,HL
\ 029C EB EX DE,HL
\ 029D E1 POP HL
\ 029E 19 ADD HL,DE
\ 029F 5E LD E,(HL)
\ 02A0 23 INC HL
\ 02A1 56 LD D,(HL)
\ 02A2 3E00 LD A,BYTE3 ResShowMultiString
\ 02A4 210000 LD HL,LWRD ResShowMultiString
\ 02A7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02AA F1 POP AF
\ 02AB F1 POP AF
119 SetPenColor(Color_WHITE_def);
\ 02AC CD1B01 CALL LWRD ?0071
120
121 }
122 else
\ 02AF 1849 JR ?0021
\ 02B1 ?0020:
123 {
124 ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_list[i]);
\ 02B1 5E LD E,(HL)
\ 02B2 D5 PUSH DE
\ 02B3 0E0A LD C,10
\ 02B5 215E00 LD HL,94
\ 02B8 DD5EEA LD E,(IX-22)
\ 02BB 50 LD D,B
\ 02BC 19 ADD HL,DE
\ 02BD EB EX DE,HL
\ 02BE CD1301 CALL LWRD ?0069
\ 02C1 F1 POP AF
125 ResShowMultiString(list->strid[n+i], list->string_id,
126 menu_str_x_def, menu_pos_list[i]-3);
\ 02C2 210000 LD HL,menu_pos_list
\ 02C5 DD4EEA LD C,(IX-22)
\ 02C8 DD46EB LD B,(IX-21)
\ 02CB 09 ADD HL,BC
\ 02CC 7E LD A,(HL)
\ 02CD C6FD ADD A,253
\ 02CF 5F LD E,A
\ 02D0 D5 PUSH DE
\ 02D1 1E20 LD E,32
\ 02D3 D5 PUSH DE
\ 02D4 FD4E08 LD C,(IY+8)
\ 02D7 FD6E00 LD L,(IY+0)
\ 02DA FD6601 LD H,(IY+1)
\ 02DD E5 PUSH HL
\ 02DE DD6EEA LD L,(IX-22)
\ 02E1 60 LD H,B
\ 02E2 DD5EF4 LD E,(IX-12)
\ 02E5 DD56F5 LD D,(IX-11)
\ 02E8 19 ADD HL,DE
\ 02E9 29 ADD HL,HL
\ 02EA EB EX DE,HL
\ 02EB E1 POP HL
\ 02EC 19 ADD HL,DE
\ 02ED 5E LD E,(HL)
\ 02EE 23 INC HL
\ 02EF 56 LD D,(HL)
\ 02F0 3E00 LD A,BYTE3 ResShowMultiString
\ 02F2 210000 LD HL,LWRD ResShowMultiString
\ 02F5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02F8 F1 POP AF
\ 02F9 F1 POP AF
\ 02FA ?0021:
\ 02FA DD34EA INC (IX-22)
\ 02FD C2F301 JP NZ,?0014
\ 0300 DD34EB INC (IX-21)
\ 0303 C3F301 JP LWRD ?0014
\ 0306 ?0013:
127 }
128 }
129
130 need_draw = FALSE;
\ 0306 DD36FC00 LD (IX-4),0
\ 030A ?0010:
131 }//need draw
132 if(value_changed)
\ 030A AF XOR A
\ 030B DDB6FE OR (IX-2)
\ 030E 281D JR Z,?0023
\ 0310 ?0022:
133 {
134 show_active_list1(list,old_active,active);
\ 0310 DD6EE8 LD L,(IX-24)
\ 0313 DD66E9 LD H,(IX-23)
\ 0316 E5 PUSH HL
\ 0317 DD4EF8 LD C,(IX-8)
\ 031A DD46F9 LD B,(IX-7)
\ 031D FDE5 PUSH IY
\ 031F D1 POP DE
\ 0320 3E00 LD A,BYTE3 show_active_list1
\ 0322 210000 LD HL,LWRD show_active_list1
\ 0325 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0328 E1 POP HL
135 value_changed=FALSE;
\ 0329 DD36FE00 LD (IX-2),0
\ 032D ?0023:
136 }
137 key = ap_get_message();
\ 032D CD0000 CALL LWRD ap_get_message
138 //handle message
139 switch( key)
\ 0330 5F LD E,A
\ 0331 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0334 0700 DEFW 7
\ 0336 05 DEFB 5
\ 0337 06 DEFB 6
\ 0338 1E DEFB 30
\ 0339 21 DEFB 33
\ 033A 30 DEFB 48
\ 033B 45 DEFB 69
\ 033C 46 DEFB 70
\ 033D 6C04 DEFW ?0054
\ 033F 4D03 DEFW ?0025
\ 0341 B903 DEFW ?0037
\ 0343 2304 DEFW ?0050
\ 0345 5104 DEFW ?0066
\ 0347 4A04 DEFW ?0051
\ 0349 4D03 DEFW ?0025
\ 034B B903 DEFW ?0037
\ 034D ?0025:
140 {
141 case AP_KEY_NEXT:
142 case AP_KEY_NEXT | AP_KEY_HOLD:
143 if(active < list->total - 1)
\ 034D FD4E02 LD C,(IY+2)
\ 0350 FD4603 LD B,(IY+3)
\ 0353 0B DEC BC
\ 0354 DD6EE8 LD L,(IX-24)
\ 0357 DD66E9 LD H,(IX-23)
\ 035A F680 OR 128
\ 035C ED42 SBC HL,BC
\ 035E E26203 JP PO,?0063
\ 0361 AC XOR H
\ 0362 ?0063:
\ 0362 F29703 JP P,?0027
\ 0365 ?0026:
144 {
145 active++;
\ 0365 DD34E8 INC (IX-24)
\ 0368 2003 JR NZ,?0064
\ 036A DD34E9 INC (IX-23)
\ 036D ?0064:
146 if(active/LIST_NUM_ONE_PAGE==cur_group)
\ 036D 010600 LD BC,6
\ 0370 DD5EE8 LD E,(IX-24)
\ 0373 DD56E9 LD D,(IX-23)
\ 0376 CD0000 CALL LWRD ?SS_DIV_L02
\ 0379 DD6EF6 LD L,(IX-10)
\ 037C DD66F7 LD H,(IX-9)
\ 037F A7 AND A
\ 0380 ED52 SBC HL,DE
\ 0382 201A JR NZ,?0067
\ 0384 ?0028:
147 {
148 old_active=active-1;
\ 0384 DD6EE8 LD L,(IX-24)
\ 0387 DD66E9 LD H,(IX-23)
\ 038A 2B DEC HL
\ 038B DD75F8 LD (IX-8),L
\ 038E DD74F9 LD (IX-7),H
149 value_changed=TRUE;
\ 0391 DD36FE01 LD (IX-2),1
150 }
151 else
\ 0395 180B JR ?0031
\ 0397 ?0029:
152 need_draw = TRUE;
\ 0397 ?0030:
153 }
154 else
\ 0397 ?0027:
155 {
156 active = 0;
157 need_draw = TRUE;
\ 0397 AF XOR A
\ 0398 DD77E8 LD (IX-24),A
\ 039B DD77E9 LD (IX-23),A
\ 039E ?0067:
\ 039E DD36FC01 LD (IX-4),1
\ 03A2 ?0031:
158 }
159 if(callback != NULL)
\ 03A2 DD7E0A LD A,(IX+10)
\ 03A5 DDB60B OR (IX+11)
\ 03A8 DDB60C OR (IX+12)
\ 03AB 2803 JR Z,?0033
\ 03AD ?0032:
160 callback(active);
\ 03AD CDB804 CALL LWRD ?0074
\ 03B0 ?0033:
\ 03B0 ?0035:
161 while(ap_get_message() != 0);
\ 03B0 CD0000 CALL LWRD ap_get_message
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -