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

📄 listview_setsel.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\listview_setsel.o --depend=.\Obj\listview_setsel.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\Widget\LISTVIEW_SetSel.c]
                          THUMB

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

                  LISTVIEW_SetSel PROC
;;;33     */
;;;34     void LISTVIEW_SetSel(LISTVIEW_Handle hObj, int NewSel) {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  0006              MOVS     r6,r0
000006  460c              MOV      r4,r1
;;;35       if (hObj) {
000008  d02c              BEQ      |L1.100|
;;;36         LISTVIEW_Obj* pObj;
;;;37         int MaxSel;
;;;38         WM_LOCK();
;;;39         pObj = LISTVIEW_H2P(hObj);
00000a  4630              MOV      r0,r6
00000c  f7fffffe          BL       GUI_ALLOC_h2p
000010  4605              MOV      r5,r0
;;;40         MaxSel = GUI_ARRAY_GetNumItems(&pObj->RowArray) - 1;
000012  302a              ADDS     r0,r0,#0x2a
000014  f7fffffe          BL       GUI_ARRAY_GetNumItems
000018  1e40              SUBS     r0,r0,#1
;;;41         if (NewSel > MaxSel) {
00001a  4284              CMP      r4,r0
00001c  dd00              BLE      |L1.32|
;;;42           NewSel = MaxSel;
00001e  4604              MOV      r4,r0
                  |L1.32|
;;;43         }
;;;44         if (NewSel < 0) {
000020  2c00              CMP      r4,#0
000022  da01              BGE      |L1.40|
;;;45           NewSel = -1;
000024  f04f34ff          MOV      r4,#0xffffffff
                  |L1.40|
;;;46         }
;;;47         if (NewSel != pObj->Sel) {
000028  6d6f              LDR      r7,[r5,#0x54]
00002a  42a7              CMP      r7,r4
00002c  d01a              BEQ      |L1.100|
;;;48           int OldSel;
;;;49           OldSel    = pObj->Sel;
;;;50           pObj->Sel = NewSel;
;;;51           if (LISTVIEW__UpdateScrollPos(hObj, pObj)) {
00002e  4629              MOV      r1,r5
000030  4630              MOV      r0,r6
000032  656c              STR      r4,[r5,#0x54]
000034  f7fffffe          BL       LISTVIEW__UpdateScrollPos
000038  b120              CBZ      r0,|L1.68|
;;;52             LISTVIEW__InvalidateInsideArea(hObj, pObj);
00003a  4629              MOV      r1,r5
00003c  4630              MOV      r0,r6
00003e  f7fffffe          BL       LISTVIEW__InvalidateInsideArea
000042  e009              B        |L1.88|
                  |L1.68|
;;;53           } else {
;;;54             LISTVIEW__InvalidateRow(hObj, pObj, OldSel);
000044  463a              MOV      r2,r7
000046  4629              MOV      r1,r5
000048  4630              MOV      r0,r6
00004a  f7fffffe          BL       LISTVIEW__InvalidateRow
;;;55             LISTVIEW__InvalidateRow(hObj, pObj, NewSel);
00004e  4622              MOV      r2,r4
000050  4629              MOV      r1,r5
000052  4630              MOV      r0,r6
000054  f7fffffe          BL       LISTVIEW__InvalidateRow
                  |L1.88|
;;;56           }
;;;57           WM_NotifyParent(hObj, WM_NOTIFICATION_SEL_CHANGED);
000058  4630              MOV      r0,r6
00005a  e8bd41f0          POP      {r4-r8,lr}
00005e  2104              MOVS     r1,#4
000060  f7ffbffe          B.W      WM_NotifyParent
                  |L1.100|
;;;58         }
;;;59         WM_UNLOCK();
;;;60       }
;;;61     }
000064  e8bd81f0          POP      {r4-r8,pc}
;;;62     
                          ENDP

⌨️ 快捷键说明

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