⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmark_list.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   0125  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0128            ?0064:
   \   0128  010000            LD      BC,0
   \   012B  11FFFF            LD      DE,65535
   \   012E  C30000            JP      LWRD SetPenColor
   \   0131            ui_bookmark_list:
     95          /*
     96          ********************************************************************************
     97          * Description : 弹出式列表选择窗体
     98          *
     99          * Arguments   :
    100          *    list,  弹出式列表结构体指针
    101          *    list->string, 语言
    102          *
    103          * Returns     : key
    104          *
    105          * Notes       :
    106          *
    107          ********************************************************************************
    108          */
    109          int ui_bookmark_list(pop_up_list_t *list, const void (*callback)(int value))
    110          {
   \   0131  C5                PUSH    BC
   \   0132  FDE5              PUSH    IY
   \   0134  DDE5              PUSH    IX
   \   0136  DD210000          LD      IX,0
   \   013A  DD39              ADD     IX,SP
   \   013C  21E8FF            LD      HL,65512
   \   013F  39                ADD     HL,SP
   \   0140  F9                LD      SP,HL
   \   0141  D5                PUSH    DE
   \   0142  FDE1              POP     IY
    111              int i,active,old_active;
    112              char key;
    113              bool need_draw=FALSE;
    114              bool need_drawall=TRUE;
    115              bool value_changed=FALSE;
    116              int max_group;    // list->total / 7
    117              int cur_group;    // list->active / LIST_NUM_ONE_PAGE
    118              int n;            // the item to show
    119              DC  oldDC_sav;    
    120           
    121              active = list->active;
   \   0144  210400            LD      HL,4
   \   0147  19                ADD     HL,DE
   \   0148  46                LD      B,(HL)
   \   0149  DD70E8            LD      (IX-24),B
   \   014C  23                INC     HL
   \   014D  66                LD      H,(HL)
   \   014E  DD74E9            LD      (IX-23),H
    122           
    123              if((list->total % LIST_NUM_ONE_PAGE) == 0) max_group--;
   \   0151  DD36FC00          LD      (IX-4),0
   \   0155  DD36FF01          LD      (IX-1),1
   \   0159  DD36FE00          LD      (IX-2),0
   \   015D  13                INC     DE
   \   015E  13                INC     DE
   \   015F  EB                EX      DE,HL
   \   0160  5E                LD      E,(HL)
   \   0161  23                INC     HL
   \   0162  56                LD      D,(HL)
   \   0163  010600            LD      BC,6
   \   0166  CD0000            CALL    LWRD ?SS_MOD_L02
   \   0169            ?0002:
   \   0169            ?0003:
    124              GetDCStatus(&oldDC_sav);    
   \   0169  210400            LD      HL,4
   \   016C  39                ADD     HL,SP
   \   016D  EB                EX      DE,HL
   \   016E  CD0000            CALL    LWRD GetDCStatus
    125           
    126                  SetTextOutMode(1);       //设字体透明   
   \   0171  1E01              LD      E,1
   \   0173  CD0000            CALL    LWRD SetTextOutMode
   \   0176            ?0005:
    127           
    128              while(1)
    129              {
    130                  if(need_drawall)
   \   0176  AF                XOR     A
   \   0177  DDB6FF            OR      (IX-1)
   \   017A  2808              JR      Z,?0008
   \   017C            ?0007:
    131                  {
    132                
    133                      need_drawall=FALSE;
    134                      need_draw=TRUE;
   \   017C  DD36FF00          LD      (IX-1),0
   \   0180  DD36FC01          LD      (IX-4),1
   \   0184            ?0008:
    135                  }
    136                  
    137                  if(need_draw)
   \   0184  AF                XOR     A
   \   0185  DDB6FC            OR      (IX-4)
   \   0188  CAD802            JP      Z,?0010
   \   018B            ?0009:
    138                  {                        
    139                      old_active=active;
    140                      cur_group = active / LIST_NUM_ONE_PAGE;
   \   018B  010600            LD      BC,6
   \   018E  DD5EE8            LD      E,(IX-24)
   \   0191  DD56E9            LD      D,(IX-23)
   \   0194  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0197  DD73F6            LD      (IX-10),E
   \   019A  DD72F7            LD      (IX-9),D
    141                      n = cur_group*LIST_NUM_ONE_PAGE;
   \   019D  EB                EX      DE,HL
   \   019E  29                ADD     HL,HL
   \   019F  4D                LD      C,L
   \   01A0  44                LD      B,H
   \   01A1  29                ADD     HL,HL
   \   01A2  09                ADD     HL,BC
   \   01A3  DD75F4            LD      (IX-12),L
   \   01A6  DD74F5            LD      (IX-11),H
    142                      ResShowPic(MENUTWO,0,0);  
   \   01A9  0E00              LD      C,0
   \   01AB  C5                PUSH    BC
   \   01AC  11C300            LD      DE,195
   \   01AF  CD2001            CALL    LWRD ?0062
   \   01B2  F1                POP     AF
    143                      ResShowPic(DHT,194,8);   
   \   01B3  0E08              LD      C,8
   \   01B5  C5                PUSH    BC
   \   01B6  0EC2              LD      C,194
   \   01B8  112600            LD      DE,38
   \   01BB  CD2001            CALL    LWRD ?0062
   \   01BE  F1                POP     AF
    144                      SetPenColor(Color_WHITE_def); 
   \   01BF  CD2801            CALL    LWRD ?0064
    145                      ResShowMultiString(list->headid, list->string_id, 
    146                      list_str_x_def, list_str_y_def);
   \   01C2  0E94              LD      C,148
   \   01C4  C5                PUSH    BC
   \   01C5  0E16              LD      C,22
   \   01C7  C5                PUSH    BC
   \   01C8  FD4E08            LD      C,(IY+8)
   \   01CB  FD5E06            LD      E,(IY+6)
   \   01CE  FD5607            LD      D,(IY+7)
   \   01D1  3E00              LD      A,BYTE3 ResShowMultiString
   \   01D3  210000            LD      HL,LWRD ResShowMultiString
   \   01D6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01D9  F1                POP     AF
   \   01DA  F1                POP     AF
    147            
    148                       SetPenColor(Color_WHITE_def);   
   \   01DB  CD2801            CALL    LWRD ?0064
    149                      for(i=0; i<LIST_NUM_ONE_PAGE; i++)
   \   01DE  DD6EE8            LD      L,(IX-24)
   \   01E1  DD66E9            LD      H,(IX-23)
   \   01E4  DD75F8            LD      (IX-8),L
   \   01E7  DD74F9            LD      (IX-7),H
   \   01EA  AF                XOR     A
   \   01EB  DD77EA            LD      (IX-22),A
   \   01EE  DD77EB            LD      (IX-21),A
   \   01F1            ?0012:
   \   01F1  010680            LD      BC,32774
   \   01F4  DD6EEA            LD      L,(IX-22)
   \   01F7  DD66EB            LD      H,(IX-21)
   \   01FA  78                LD      A,B
   \   01FB  AC                XOR     H
   \   01FC  67                LD      H,A
   \   01FD  ED42              SBC     HL,BC
   \   01FF  D2D402            JP      NC,?0011
   \   0202            ?0013:
    150                      {
    151                          if(n+i >= list->total) break;    //处理不足LIST_NUM_ONE_PAGE个的情况
   \   0202  FD4E02            LD      C,(IY+2)
   \   0205  FD4603            LD      B,(IY+3)
   \   0208  DD6EEA            LD      L,(IX-22)
   \   020B  DD66EB            LD      H,(IX-21)
   \   020E  DD5EF4            LD      E,(IX-12)
   \   0211  DD56F5            LD      D,(IX-11)
   \   0214  19                ADD     HL,DE
   \   0215  F680              OR      128
   \   0217  ED42              SBC     HL,BC
   \   0219  E21D02            JP      PO,?0053
   \   021C  AC                XOR     H
   \   021D            ?0053:
   \   021D  F2D402            JP      P,?0011
   \   0220            ?0015:
   \   0220            ?0016:
    152                          if(n+i==active)
   \   0220  DD6EEA            LD      L,(IX-22)
   \   0223  DD66EB            LD      H,(IX-21)
   \   0226  4B                LD      C,E
   \   0227  42                LD      B,D
   \   0228  09                ADD     HL,BC
   \   0229  DD4EE8            LD      C,(IX-24)
   \   022C  DD46E9            LD      B,(IX-23)
   \   022F  A7                AND     A
   \   0230  ED42              SBC     HL,BC
   \   0232  210000            LD      HL,menu_pos_list
   \   0235  DD4EEA            LD      C,(IX-22)
   \   0238  DD46EB            LD      B,(IX-21)
   \   023B  09                ADD     HL,BC
   \   023C  204E              JR      NZ,?0018
   \   023E            ?0017:
    153                          {   
    154                              { ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_list[i]-4); 
   \   023E  7E                LD      A,(HL)
   \   023F  C6FC              ADD     A,252
   \   0241  5F                LD      E,A
   \   0242  D5                PUSH    DE
   \   0243  CD1B01            CALL    LWRD ?0063
   \   0246  F1                POP     AF
    155                                ResShowPic(DHTHK,194, menu_pos_list[i]+6);  
   \   0247  210000            LD      HL,menu_pos_list
   \   024A  DD4EEA            LD      C,(IX-22)
   \   024D  DD46EB            LD      B,(IX-21)
   \   0250  09                ADD     HL,BC
   \   0251  7E                LD      A,(HL)
   \   0252  C606              ADD     A,6
   \   0254  5F                LD      E,A
   \   0255  D5                PUSH    DE
   \   0256  0EC2              LD      C,194
   \   0258  112700            LD      DE,39
   \   025B  CD2001            CALL    LWRD ?0062
   \   025E  F1                POP     AF
    156                                ///-ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_list[i]); 
    157                              }     
    158                     
    159              
    160                               SetPenColor(Color_WHITE_def);
   \   025F  CD2801            CALL    LWRD ?0064
    161                               showString(active, list->string_id, menu_str_x_def, menu_pos_list[i]-1);
   \   0262  210000            LD      HL,menu_pos_list
   \   0265  DD4EEA            LD      C,(IX-22)
   \   0268  DD46EB            LD      B,(IX-21)
   \   026B  09                ADD     HL,BC
   \   026C  7E                LD      A,(HL)
   \   026D  C6FF              ADD     A,255
   \   026F  4F                LD      C,A
   \   0270  C5                PUSH    BC
   \   0271  0E20              LD      C,32
   \   0273  C5                PUSH    BC
   \   0274  FD4E08            LD      C,(IY+8)
   \   0277  DD5EE8            LD      E,(IX-24)
   \   027A  DD56E9            LD      D,(IX-23)
   \   027D  3E00              LD      A,BYTE3 showString
   \   027F  210000            LD      HL,LWRD showString
   \   0282  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0285  F1                POP     AF
   \   0286  F1                POP     AF
    162                               SetPenColor(Color_WHITE_def);
   \   0287  CD2801            CALL    LWRD ?0064
    163                 
    164                          }
    165                          else
   \   028A  183C              JR      ?0019
   \   028C            ?0018:
    166                          {
    167                              ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_list[i]);
   \   028C  5E                LD      E,(HL)
   \   028D  D5                PUSH    DE
   \   028E  0E0A              LD      C,10
   \   0290  21B300            LD      HL,179
   \   0293  DD5EEA            LD      E,(IX-22)
   \   0296  50                LD      D,B
   \   0297  19                ADD     HL,DE
   \   0298  EB                EX      DE,HL
   \   0299  CD2001            CALL    LWRD ?0062
   \   029C  F1                POP     AF
    168                              showString(n+i, list->string_id, menu_str_x_def, menu_pos_list[i]-3);
   \   029D  210000            LD      HL,menu_pos_list
   \   02A0  DD4EEA            LD      C,(IX-22)
   \   02A3  DD46EB            LD      B,(IX-21)
   \   02A6  09                ADD     HL,BC
   \   02A7  7E                LD      A,(HL)
   \   02A8  C6FD              ADD     A,253
   \   02AA  5F                LD      E,A
   \   02AB  D5                PUSH    DE
   \   02AC  1E20              LD      E,32
   \   02AE  D5                PUSH    DE
   \   02AF  FD4E08            LD      C,(IY+8)
   \   02B2  DD6EEA            LD      L,(IX-22)
   \   02B5  60                LD      H,B
   \   02B6  DD5EF4            LD      E,(IX-12)
   \   02B9  DD56F5            LD      D,(IX-11)
   \   02BC  19                ADD     HL,DE
   \   02BD  EB                EX      DE,HL
   \   02BE  3E00              LD      A,BYTE3 showString
   \   02C0  210000            LD      HL,LWRD showString
   \   02C3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02C6  F1                POP     AF
   \   02C7  F1                POP     AF
   \   02C8            ?0019:
   \   02C8  DD34EA            INC     (IX-22)
   \   02CB  C2F101            JP      NZ,?0012
   \   02CE  DD34EB            INC     (IX-21)
   \   02D1  C3F101            JP      LWRD ?0012
   \   02D4            ?0011:
    169                          }
    170                      }        
    171                              
    172                      need_draw = FALSE;
   \   02D4  DD36FC00          LD      (IX-4),0
   \   02D8            ?0010:
    173                  }//need draw
    174                  if(value_changed)
   \   02D8  AF                XOR     A
   \   02D9  DDB6FE            OR      (IX-2)
   \   02DC  281D              JR      Z,?0021
   \   02DE            ?0020:
    175                  {
    176                          show_active_bklist(list,old_active,active);
   \   02DE  DD6EE8            LD      L,(IX-24)
   \   02E1  DD66E9            LD      H,(IX-23)
   \   02E4  E5                PUSH    HL
   \   02E5  DD4EF8            LD      C,(IX-8)
   \   02E8  DD46F9            LD      B,(IX-7)
   \   02EB  FDE5              PUSH    IY
   \   02ED  D1                POP     DE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -