📄 dialog_radio.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\dialog_radio.o --depend=.\Obj\dialog_radio.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 -D__MICROLIB ..\..\source\dialog_radio.c]
THUMB
AREA ||i._cbBkWindow||, CODE, READONLY, ALIGN=2
_cbBkWindow PROC
;;;55 */
;;;56 static void _cbBkWindow(WM_MESSAGE* pMsg) {
000000 b510 PUSH {r4,lr}
;;;57 switch (pMsg->MsgId) {
000002 6801 LDR r1,[r0,#0]
000004 290f CMP r1,#0xf
000006 d112 BNE |L1.46|
;;;58 case WM_PAINT:
;;;59 GUI_SetBkColor(GUI_RED);
000008 20ff MOVS r0,#0xff
00000a f7fff7ff BL GUI_SetBkColor
;;;60 GUI_Clear();
00000e f7fff7ff BL GUI_Clear
;;;61 GUI_SetColor(GUI_WHITE);
000012 f06ff06f MVN r0,#0xff000000
000016 f7fff7ff BL GUI_SetColor
;;;62 GUI_SetFont(&GUI_Font24_ASCII);
00001a 4807 LDR r0,|L1.56|
00001c f7fff7ff BL GUI_SetFont
;;;63 GUI_DispStringHCenterAt("DIALOG_Radio - Sample", 160, 5);
000020 2205 MOVS r2,#5
000022 e8bde8bd POP {r4,lr}
000026 21a0 MOVS r1,#0xa0
000028 a004 ADR r0,|L1.60|
00002a f7fff7ff B.W GUI_DispStringHCenterAt
|L1.46|
;;;64 break;
;;;65 default:
;;;66 WM_DefaultProc(pMsg);
00002e e8bde8bd POP {r4,lr}
000032 f7fff7ff B.W WM_DefaultProc
;;;67 }
;;;68 }
;;;69
ENDP
000036 0000 DCW 0x0000
|L1.56|
000038 00000000 DCD GUI_Font24_ASCII
|L1.60|
00003c 4449414c DCB "DIAL"
000040 4f475f52 DCB "OG_R"
000044 6164696f DCB "adio"
000048 202d2053 DCB " - S"
00004c 616d706c DCB "ampl"
000050 65000000 DCB "e\0\0\0"
AREA ||i._cbCallback||, CODE, READONLY, ALIGN=1
_cbCallback PROC
;;;73 */
;;;74 static void _cbCallback(WM_MESSAGE * pMsg) {
000000 e92de92d PUSH {r2-r8,lr}
000004 4604 MOV r4,r0
;;;75 int Sel, NCode, Id;
;;;76 WM_HWIN hDlg, hItem;
;;;77 GUI_PID_STATE * pState;
;;;78 hDlg = pMsg->hWin;
000006 f9b0f9b0 LDRSH r5,[r0,#4]
;;;79 switch (pMsg->MsgId) {
00000a 6800 LDR r0,[r0,#0]
00000c f44ff44f MOV r7,#0x150
000010 280d CMP r0,#0xd
000012 d044 BEQ |L2.158|
000014 280e CMP r0,#0xe
000016 d034 BEQ |L2.130|
000018 f44ff44f MOV r6,#0x100
00001c 281e CMP r0,#0x1e
00001e d01d BEQ |L2.92|
000020 2826 CMP r0,#0x26
000022 d161 BNE |L2.232|
;;;80 case WM_INIT_DIALOG:
;;;81 hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0);
;;;82 EDIT_SetDecMode(hItem, 30, 0, 999, 0, 0); /* Select decimal mode */
;;;83 WM_DisableWindow(hItem);
;;;84 break;
;;;85 case WM_KEY:
;;;86 switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
;;;87 case GUI_KEY_ESCAPE:
;;;88 GUI_EndDialog(hDlg, 1);
;;;89 break;
;;;90 case GUI_KEY_ENTER:
;;;91 GUI_EndDialog(hDlg, 0);
;;;92 break;
;;;93 }
;;;94 break;
;;;95 case WM_TOUCH_CHILD:
;;;96 Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
;;;97 switch (Id) {
;;;98 case GUI_ID_TEXT0:
;;;99 case GUI_ID_TEXT1:
;;;100 case GUI_ID_TEXT2:
;;;101 pState = (GUI_PID_STATE *)((WM_MESSAGE *)pMsg->Data.p)->Data.p;
;;;102 if (pState) {
;;;103 if (pState->Pressed) {
;;;104 WM_HWIN hRadio = WM_GetDialogItem(hDlg, GUI_ID_RADIO0);
;;;105 RADIO_SetValue(hRadio, Id - GUI_ID_TEXT0); /* Use the text beside the radio button to
;;;106 set the value of the radio button */
;;;107 }
;;;108 }
;;;109 break;
;;;110 }
;;;111 break;
;;;112 case WM_NOTIFY_PARENT:
;;;113 Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
000024 f9b4f9b4 LDRSH r0,[r4,#6]
000028 f7fff7ff BL WM_GetId
;;;114 NCode = pMsg->Data.v; /* Notification code */
;;;115 switch (NCode) {
00002c 68a1 LDR r1,[r4,#8]
00002e 2902 CMP r1,#2
000030 d054 BEQ |L2.220|
000032 2905 CMP r1,#5
000034 d156 BNE |L2.228|
;;;116 case WM_NOTIFICATION_RELEASED: /* React only if released */
;;;117 switch (Id) {
;;;118 case GUI_ID_OK:
;;;119 GUI_EndDialog(hDlg, 0);
;;;120 break;
;;;121 case GUI_ID_CANCEL:
;;;122 GUI_EndDialog(hDlg, 1);
;;;123 break;
;;;124 }
;;;125 break;
;;;126 case WM_NOTIFICATION_VALUE_CHANGED:
;;;127 hItem = WM_GetDialogItem(hDlg, GUI_ID_RADIO0);
000036 4639 MOV r1,r7
000038 4628 MOV r0,r5
00003a f7fff7ff BL WM_GetDialogItem
;;;128 Sel = RADIO_GetValue(hItem);
00003e f7fff7ff BL RADIO_GetValue
000042 4604 MOV r4,r0
;;;129 hItem = WM_GetDialogItem(hDlg, GUI_ID_EDIT0);
000044 4631 MOV r1,r6
000046 4628 MOV r0,r5
000048 f7fff7ff BL WM_GetDialogItem
;;;130 WM_SetEnableState(hItem, Sel == 2);
00004c 2101 MOVS r1,#1
00004e 2c02 CMP r4,#2
000050 d000 BEQ |L2.84|
000052 2100 MOVS r1,#0
|L2.84|
000054 e8bde8bd POP {r2-r8,lr}
000058 f7fff7ff B.W WM_SetEnableState
|L2.92|
00005c 4631 MOV r1,r6 ;81
00005e 4628 MOV r0,r5 ;81
000060 f7fff7ff BL WM_GetDialogItem
000064 2300 MOVS r3,#0 ;82
000066 9300 STR r3,[sp,#0] ;82
000068 9301 STR r3,[sp,#4] ;82
00006a 4604 MOV r4,r0 ;81
00006c f240f240 MOV r3,#0x3e7 ;82
000070 2200 MOVS r2,#0 ;82
000072 211e MOVS r1,#0x1e ;82
000074 f7fff7ff BL EDIT_SetDecMode
000078 4620 MOV r0,r4 ;83
00007a e8bde8bd POP {r2-r8,lr} ;83
00007e f7fff7ff B.W WM_DisableWindow
|L2.130|
000082 68a0 LDR r0,[r4,#8] ;86
000084 6800 LDR r0,[r0,#0] ;86
000086 280d CMP r0,#0xd ;86
000088 d003 BEQ |L2.146|
00008a 281b CMP r0,#0x1b ;86
00008c d12a BNE |L2.228|
|L2.142|
00008e 2101 MOVS r1,#1 ;88
000090 e000 B |L2.148|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -