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

📄 dropdown.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
;;;430            r.y0 -= ySize;
000058  f8bd000e          LDRH     r0,[sp,#0xe]
00005c  1b40              SUBS     r0,r0,r5
00005e  e001              B        |L6.100|
                  |L6.96|
;;;431          } else {
;;;432            r.y0 = r.y1;
000060  f8bd0012          LDRH     r0,[sp,#0x12]
                  |L6.100|
000064  f8ad000e          STRH     r0,[sp,#0xe]
;;;433          }
;;;434          hLst = LISTBOX_CreateAsChild(NULL, WM_GetParent(hObj), r.x0, r.y0
000068  4640              MOV      r0,r8
00006a  f7fffffe          BL       WM_GetParent
00006e  2302              MOVS     r3,#2
000070  e9cd9500          STRD     r9,r5,[sp,#0]
000074  9302              STR      r3,[sp,#8]
000076  4601              MOV      r1,r0
000078  f9bd300e          LDRSH    r3,[sp,#0xe]
00007c  f9bd200c          LDRSH    r2,[sp,#0xc]
000080  2000              MOVS     r0,#0
000082  f7fffffe          BL       LISTBOX_CreateAsChild
000086  4606              MOV      r6,r0
;;;435                             , xSize, ySize, WM_CF_SHOW);
;;;436          if (pObj->Flags & DROPDOWN_SF_AUTOSCROLLBAR) {
000088  f8940062          LDRB     r0,[r4,#0x62]
00008c  07c0              LSLS     r0,r0,#31
00008e  d008              BEQ      |L6.162|
;;;437            LISTBOX_SetScrollbarWidth(hLst, pObj->ScrollbarWidth);
000090  f8941066          LDRB     r1,[r4,#0x66]
000094  4630              MOV      r0,r6
000096  f7fffffe          BL       LISTBOX_SetScrollbarWidth
;;;438            LISTBOX_SetAutoScrollV(hLst, 1);
00009a  2101              MOVS     r1,#1
00009c  4630              MOV      r0,r6
00009e  f7fffffe          BL       LISTBOX_SetAutoScrollV
                  |L6.162|
;;;439          }
;;;440          for (i = 0; i< NumItems; i++) {
0000a2  2500              MOVS     r5,#0
0000a4  e008              B        |L6.184|
                  |L6.166|
;;;441            LISTBOX_AddString(hLst, _GetpItem(pObj, i));
0000a6  4629              MOV      r1,r5
0000a8  4620              MOV      r0,r4
0000aa  f7fffffe          BL       _GetpItem
0000ae  4601              MOV      r1,r0
0000b0  4630              MOV      r0,r6
0000b2  f7fffffe          BL       LISTBOX_AddString
0000b6  1c6d              ADDS     r5,r5,#1              ;440
                  |L6.184|
0000b8  42bd              CMP      r5,r7                 ;440
0000ba  dbf4              BLT      |L6.166|
;;;442          }
;;;443          for (i = 0; i < GUI_COUNTOF(pObj->Props.aBackColor); i++) {
0000bc  f05f0500          MOVS.W   r5,#0
                  |L6.192|
;;;444            LISTBOX_SetBkColor(hLst, i, pObj->Props.aBackColor[i]);
0000c0  eb040085          ADD      r0,r4,r5,LSL #2
0000c4  6c42              LDR      r2,[r0,#0x44]
0000c6  4629              MOV      r1,r5
0000c8  4630              MOV      r0,r6
0000ca  f7fffffe          BL       LISTBOX_SetBkColor
0000ce  1c6d              ADDS     r5,r5,#1              ;443
0000d0  2d03              CMP      r5,#3                 ;443
0000d2  d3f5              BCC      |L6.192|
;;;445          }
;;;446          for (i = 0; i < GUI_COUNTOF(pObj->Props.aTextColor); i++) {
0000d4  f05f0500          MOVS.W   r5,#0
                  |L6.216|
;;;447            LISTBOX_SetTextColor(hLst, i, pObj->Props.aTextColor[i]);
0000d8  eb040085          ADD      r0,r4,r5,LSL #2
0000dc  6d02              LDR      r2,[r0,#0x50]
0000de  4629              MOV      r1,r5
0000e0  4630              MOV      r0,r6
0000e2  f7fffffe          BL       LISTBOX_SetTextColor
0000e6  1c6d              ADDS     r5,r5,#1              ;446
0000e8  2d03              CMP      r5,#3                 ;446
0000ea  d3f5              BCC      |L6.216|
0000ec  3428              ADDS     r4,r4,#0x28           ;446
;;;448          }
;;;449          LISTBOX_SetItemSpacing(hLst, pObj->ItemSpacing);
0000ee  8fa1              LDRH     r1,[r4,#0x3c]
0000f0  4630              MOV      r0,r6
0000f2  f7fffffe          BL       LISTBOX_SetItemSpacing
;;;450          LISTBOX_SetFont(hLst, pObj->Props.pFont);
0000f6  4630              MOV      r0,r6
0000f8  69a1              LDR      r1,[r4,#0x18]
0000fa  f7fffffe          BL       LISTBOX_SetFont
;;;451          WM_SetFocus(hLst);
0000fe  4630              MOV      r0,r6
000100  f7fffffe          BL       WM_SetFocus
;;;452          pObj->hListWin = hLst;
000104  8726              STRH     r6,[r4,#0x38]
;;;453          LISTBOX_SetOwner(hLst, hObj);
000106  4641              MOV      r1,r8
000108  e000              B        |L6.268|
                  |L6.266|
00010a  e00b              B        |L6.292|
                  |L6.268|
00010c  4630              MOV      r0,r6
00010e  f7fffffe          BL       LISTBOX_SetOwner
;;;454          LISTBOX_SetSel(hLst, pObj->Sel);
000112  f9b41000          LDRSH    r1,[r4,#0]
000116  4630              MOV      r0,r6
000118  f7fffffe          BL       LISTBOX_SetSel
;;;455          WM_NotifyParent(hObj, WM_NOTIFICATION_CLICKED);
00011c  2101              MOVS     r1,#1
00011e  4640              MOV      r0,r8
000120  f7fffffe          BL       WM_NotifyParent
                  |L6.292|
;;;456        }
;;;457        WM_UNLOCK();
;;;458      }
;;;459    }
000124  b005              ADD      sp,sp,#0x14
000126  e8bd83f0          POP      {r4-r9,pc}
;;;460    
                          ENDP


                          AREA ||i.DROPDOWN_GetDefaultFont||, CODE, READONLY, ALIGN=2

                  DROPDOWN_GetDefaultFont PROC
;;;672    */
;;;673    const GUI_FONT GUI_UNI_PTR * DROPDOWN_GetDefaultFont(void) {
000000  4801              LDR      r0,|L7.8|
;;;674      return DROPDOWN__DefaultProps.pFont;
000002  6800              LDR      r0,[r0,#0]  ; DROPDOWN__DefaultProps
;;;675    }
000004  4770              BX       lr
;;;676    
                          ENDP

000006  0000              DCW      0x0000
                  |L7.8|
                          DCD      ||.data||

                          AREA ||i.DROPDOWN_GetNumItems||, CODE, READONLY, ALIGN=1

                  DROPDOWN_GetNumItems PROC
;;;501    */
;;;502    int DROPDOWN_GetNumItems(DROPDOWN_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0001              MOVS     r1,r0
;;;503      DROPDOWN_Obj* pObj;
;;;504      int r = 0;
000004  f04f0000          MOV      r0,#0
;;;505      if (hObj) {
000008  d003              BEQ      |L8.18|
;;;506        WM_LOCK();
;;;507        pObj = DROPDOWN_H2P(hObj);
00000a  4608              MOV      r0,r1
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;508        ASSERT_IS_VALID_PTR(pObj);
;;;509        r = _GetNumItems(pObj);
000010  8dc0              LDRH     r0,[r0,#0x2e]
                  |L8.18|
;;;510        WM_UNLOCK();
;;;511      }
;;;512      return r;
;;;513    }
000012  bd10              POP      {r4,pc}
;;;514    
                          ENDP


                          AREA ||i.DROPDOWN_GetSel||, CODE, READONLY, ALIGN=1

                  DROPDOWN_GetSel PROC
;;;627    
;;;628    int  DROPDOWN_GetSel (DROPDOWN_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  0001              MOVS     r1,r0
;;;629      int r = 0;
000004  f04f0000          MOV      r0,#0
;;;630      DROPDOWN_Obj* pObj;
;;;631      if (hObj) {
000008  d004              BEQ      |L9.20|
;;;632        WM_LOCK();
;;;633        pObj = DROPDOWN_H2P(hObj);
00000a  4608              MOV      r0,r1
00000c  f7fffffe          BL       GUI_ALLOC_h2p
;;;634        ASSERT_IS_VALID_PTR(pObj);
;;;635        r = pObj->Sel;
000010  f9b00028          LDRSH    r0,[r0,#0x28]
                  |L9.20|
;;;636        WM_UNLOCK();
;;;637      }
;;;638      return r;
;;;639    }
000014  bd10              POP      {r4,pc}
;;;640    
                          ENDP


                          AREA ||i.DROPDOWN_IncSel||, CODE, READONLY, ALIGN=1

                  DROPDOWN_IncSel PROC
;;;611    */
;;;612    void DROPDOWN_IncSel(DROPDOWN_Handle hObj) {
000000  b510              PUSH     {r4,lr}
000002  4604              MOV      r4,r0
;;;613      int Sel = DROPDOWN_GetSel(hObj);
000004  f7fffffe          BL       DROPDOWN_GetSel
;;;614      DROPDOWN_SetSel(hObj, Sel+1);
000008  1c41              ADDS     r1,r0,#1
00000a  4620              MOV      r0,r4
00000c  e8bd4010          POP      {r4,lr}
000010  f7ffbffe          B.W      DROPDOWN_SetSel
;;;615    }
;;;616    
                          ENDP


                          AREA ||i.DROPDOWN_SetBkColor||, CODE, READONLY, ALIGN=1

                  DROPDOWN_SetBkColor PROC
;;;544    */
;;;545    void DROPDOWN_SetBkColor(DROPDOWN_Handle hObj, unsigned int Index, GUI_COLOR color) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0007              MOVS     r7,r0
000006  460c              MOV      r4,r1
000008  4615              MOV      r5,r2
;;;546      DROPDOWN_Obj* pObj;
;;;547      if (hObj) {
00000a  d015              BEQ      |L11.56|
;;;548        if (Index < GUI_COUNTOF(pObj->Props.aBackColor)) {
00000c  2c03              CMP      r4,#3
00000e  d213              BCS      |L11.56|
;;;549          WM_LOCK();
;;;550          pObj = DROPDOWN_H2P(hObj);
000010  4638              MOV      r0,r7
000012  f7fffffe          BL       GUI_ALLOC_h2p
000016  4606              MOV      r6,r0
;;;551          ASSERT_IS_VALID_PTR(pObj);
;;;552          pObj->Props.aBackColor[Index] = color;
000018  eb000084          ADD      r0,r0,r4,LSL #2
;;;553          DROPDOWN_Invalidate(hObj);
00001c  6445              STR      r5,[r0,#0x44]
00001e  4638              MOV      r0,r7
000020  f7fffffe          BL       WM_InvalidateWindow
;;;554          if (pObj->hListWin) {
000024  f9b60060          LDRSH    r0,[r6,#0x60]
000028  2800              CMP      r0,#0
00002a  d005              BEQ      |L11.56|
;;;555            LISTBOX_SetBkColor(pObj->hListWin, Index, color);
00002c  462a              MOV      r2,r5
00002e  4621              MOV      r1,r4
000030  e8bd41f0          POP      {r4-r8,lr}
000034  f7ffbffe          B.W      LISTBOX_SetBkColor
                  |L11.56|
;;;556          }
;;;557          WM_UNLOCK();
;;;558        }
;;;559      }
;;;560    }
000038  e8bd81f0          POP      {r4-r8,pc}
;;;561    
                          ENDP


                          AREA ||i.DROPDOWN_SetDefaultFont||, CODE, READONLY, ALIGN=2

                  DROPDOWN_SetDefaultFont PROC
;;;664    */
;;;665    void DROPDOWN_SetDefaultFont(const GUI_FONT* pFont) {
000000  4901              LDR      r1,|L12.8|
;;;666      DROPDOWN__DefaultProps.pFont = pFont;
;;;667    }
000002  6008              STR      r0,[r1,#0]  ; DROPDOWN__DefaultProps
000004  4770              BX       lr
;;;668    
                          ENDP

000006  0000              DCW      0x0000
                  |L12.8|
                          DCD      ||.data||

                          AREA ||i.DROPDOWN_SetFont||, CODE, READONLY, ALIGN=1

                  DROPDOWN_SetFont PROC
;;;518    */
;;;519    void DROPDOWN_SetFont(DROPDOWN_Handle hObj, const GUI_FONT GUI_UNI_PTR * pfont) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0006              MOVS     r6,r0
000006  460f              MOV      r7,r1
;;;520      int OldHeight;
;;;521      DROPDOWN_Obj* pObj;
;;;522      if (hObj) {
000008  d025              BEQ      |L13.86|
;;;523        WM_LOCK();
;;;524        pObj = DROPDOWN_H2P(hObj);
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
000010  4604              MOV      r4,r0
;;;525        ASSERT_IS_VALID_PTR(pObj);
;;;526        OldHeight = GUI_GetYDistOfFont(pObj->Props.pFont);
000012  6c00              LDR      r0,[r0,#0x40]

⌨️ 快捷键说明

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