复选框STemWin篇14

Posted:   2020-09-22

Status:   Completed

Tags :   STM32 emWin STemWin

Categories :   STM32 emWin STemWin

Previous:   按钮STemWin篇13

Next:   单选按钮STemWin篇15


复选框控件API

  • 创建一个复选框控件CHECKBOX_Handle CHECKBOX_CreateEx(int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id)
  • 从对话框资源表中创建复选框控件CHECKBOX_Handle CHECKBOX_CreateIndirect(const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb)
  • 使用额外的字节作为用户数据创建复选框CHECKBOX_Handle CHECKBOX_CreateUser(int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, int NumExtraBytes)
  • 返回复选框背景颜色GUI_COLOR CHECKBOX_GetBkColor(CHECKBOX_Handle hObj)
  • 返回选框区域的背景色GUI_COLOR CHECKBOX_GetBoxBkColor(CHECKBOX_Handle hObj, int Index)
  • 返回默认背景色GUI_COLOR CHECKBOX_GetDefaultBkColor(void)
  • 返回默认字体const GUI_FONT * CHECKBOX_GetDefaultFont(void)
  • 返回选框区和文本之间的默认间距int CHECKBOX_GetDefaultSpacing(void)
  • 返回复选框的默认文本对齐方式int CHECKBOX_GetDefaultTextAlign(void)
  • 返回复选框的默认文本颜色GUI_COLOR CHECKBOX_GetDefaultTextColor(void)
  • 返回复选框的默认聚焦颜色GUI_COLOR CHECKBOX_GetFocusColor(CHECKBOX_Handle hObj)
  • 返回复选框当前字体const GUI_FONT * CHECKBOX_GetFont(CHECKBOX_Handle hObj)
  • 返回复选框当前状态int CHECKBOX_GetState(CHECKBOX_Handle hObj)
  • 返回复选框文本int CHECKBOX_GetText(CHECKBOX_Handle hObj, char * pBuffer, int MaxLen)
  • 返回复选框当前文本对齐方式int CHECKBOX_GetTextAlign(CHECKBOX_Handle hObj)
  • 返回复选框当前文本颜色GUI_COLOR CHECKBOX_GetTextColor(CHECKBOX_Handle hObj)
  • 检索用户数据集int CHECKBOX_GetUserData(CHECKBOX_Handle hObj, void * pDest, int NumBytes)
  • 返回复选框是否被按下int CHECKBOX_IsChecked(CHECKBOX_Handle hObj)
  • 设置复选框背景颜色void CHECKBOX_SetBkColor(CHECKBOX_Handle hObj, GUI_COLOR Color)
  • 设置选框区背景颜色GUI_COLOR CHECKBOX_SetBoxBkColor(CHECKBOX_Handle hObj, GUI_COLOR Color, int Index)
  • 设置复选框默认背景颜色void CHECKBOX_SetDefaultBkColor(GUI_COLOR Color)
  • 设置复选框默认聚焦颜色GUI_COLOR CHECKBOX_SetDefaultFocusColor(GUI_COLOR Color)
  • 设置复选框默认字体void CHECKBOX_SetDefaultFont(const GUI_FONT * pFont)
  • 设置复选框默认贴图void CHECKBOX_SetDefaultImage(const GUI_BITMAP * pBitmap, unsigned int Index)
  • 设置选框区和文本之间的默认间距void CHECKBOX_SetDefaultSpacing(int Spacing)
  • 设置复选框的默认文本对齐方式void CHECKBOX_SetDefaultTextAlign(int Align)
  • 设置复选框的默认文本颜色void CHECKBOX_SetDefaultTextColor(GUI_COLOR Color)
  • 设置复选框的默认聚焦颜色GUI_COLOR CHECKBOX_SetFocusColor(CHECKBOX_Handle hObj, GUI_COLOR Color)
  • 设置复选框贴图void CHECKBOX_SetImage(CHECKBOX_Handle hObj, const GUI_BITMAP * pBitmap, unsigned int Index)
  • 设置复选框的可能状态数void CHECKBOX_SetNumStates(CHECKBOX_Handle hObj, unsigned NumStates)
  • 设置选框区和文本之间的间距void CHECKBOX_SetSpacing(CHECKBOX_Handle hObj, unsigned Spacing)
  • 设置复选框当前状态void CHECKBOX_SetState(CHECKBOX_Handle hObj, unsigned State)
  • 设置复选框文本void CHECKBOX_SetText(CHECKBOX_Handle hObj, const char * pText)
  • 设置复选框文本对齐方式void CHECKBOX_SetTextAlign(CHECKBOX_Handle hObj, int Align)
  • 设置复选框文本颜色void CHECKBOX_SetTextColor(CHECKBOX_Handle hObj, GUI_COLOR Color)
  • 设置额外用户数据集int CHECKBOX_SetUserData(CHECKBOX_Handle hObj, const void * pSrc, int NumBytes)

复选框实验

  • 复选框贴图数据checkbox_Bitmaps.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
/*********************************************************************
*                SEGGER Microcontroller GmbH & Co. KG                *
*        Solutions for real time microcontroller applications        *
*                           www.segger.com                           *
**********************************************************************
*                                                                    *
* C-file generated by                                                *
*                                                                    *
*        Bitmap Converter (ST) for emWin V5.44.                      *
*        Compiled Nov 10 2017, 08:52:20                              *
*                                                                    *
*        (c) 1998 - 2017 Segger Microcontroller GmbH & Co. KG        *
*                                                                    *
**********************************************************************
*                                                                    *
* Source file: checkbox_on                                           *
* Dimensions:  32 * 32                                               *
* NumColors:   16bpp: 65536                                          *
*                                                                    *
**********************************************************************
*/

#include <stdlib.h>

#include "GUI.h"

#ifndef GUI_CONST_STORAGE
#define GUI_CONST_STORAGE const
#endif

//extern GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_true;
//extern GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_false;

static GUI_CONST_STORAGE unsigned short _accheckbox_true[] = {
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xEC6C, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xEC6C, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xEC6C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xEC6C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xEC6C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xFFFF, 0xEC6C, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xFFFF, 0xFFFF, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B,
    0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B, 0xE46B,
    0xE46B
};

GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_true = {
    32, // xSize
    32, // ySize
    64, // BytesPerLine
    16, // BitsPerPixel
    (unsigned char *)_accheckbox_true,  // Pointer to picture data
    NULL,  // Pointer to palette
    GUI_DRAW_BMP565
};

static GUI_CONST_STORAGE unsigned short _accheckbox_false[] = {
    0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE79, 0xCE79, 0xD69A, 0xD69A, 0xD69A, 0xCE99, 0xCE79, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE99, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
    0xCE59,
    0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE79, 0xCE79, 0xCE79, 0xCE79, 0xCE79, 0xCE79, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59, 0xCE59,
    0xCE59
};

GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_false = {
    32, // xSize
    32, // ySize
    64, // BytesPerLine
    16, // BitsPerPixel
    (unsigned char *)_accheckbox_false,  // Pointer to picture data
    NULL,  // Pointer to palette
    GUI_DRAW_BMP565
};

/*************************** End of file ****************************/

  • 修改MainTask.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include "GUI.h"
#include "WM.h"
#include "DIALOG.h"
#include <string.h>
#include "my_gpio.h"
/*********************************************************************
*
*     Defines
*
**********************************************************************
*/

#define ID_FRAMEWIN_0   (GUI_ID_USER + 0x00)
#define ID_CHECKBOX_0   (GUI_ID_USER + 0x02)
#define ID_CHECKBOX_1   (GUI_ID_USER + 0x03)
#define ID_CHECKBOX_2   (GUI_ID_USER + 0x04)
#define ID_CHECKBOX_3   (GUI_ID_USER + 0x05)
/*******************************************************************
*
*     Static variables
*
********************************************************************/
extern GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_true;
extern GUI_CONST_STORAGE GUI_BITMAP bmcheckbox_false;
/* 资源表 */
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
    { FRAMEWIN_CreateIndirect, "Framewin", ID_FRAMEWIN_0, 0, 0, 240, 320, 0, 0x0, 0 },
    { CHECKBOX_CreateIndirect, "Checkbox0", ID_CHECKBOX_0, 30, 30, 130, 35, 0, 0x0, 0 },
    { CHECKBOX_CreateIndirect, "Checkbox1", ID_CHECKBOX_1, 30, 90, 130, 35, 0, 0x0, 0 },
    { CHECKBOX_CreateIndirect, "Checkbox2", ID_CHECKBOX_2, 30, 150, 130, 35, 0, 0x0, 0 },
    { CHECKBOX_CreateIndirect, "Checkbox3", ID_CHECKBOX_3, 30, 210, 130, 35, 0, 0x0, 0 },
};
/*******************************************************************************
 *      static code
 ******************************************************************************/
/**
  * @brief 对话框回调函数
  * @note pMsg:消息指针
  * @param 无
  * @retval 无
  */
static void _cbDialog(WM_MESSAGE * pMsg) {
    WM_HWIN hItem;
    int     NCode;
    int     Id;

    switch (pMsg->MsgId) {
    case WM_INIT_DIALOG:
        /* 初始化Framewin控件 */
        hItem = pMsg->hWin;
        FRAMEWIN_SetFont(hItem, GUI_FONT_16_ASCII);
        FRAMEWIN_SetTitleHeight(hItem, 32);
        FRAMEWIN_SetText(hItem, "STemWIN@ STM32F103");
        /* 初始化Checkbox0 */
        hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_0);
        CHECKBOX_SetText(hItem, "Checkbox0");
        CHECKBOX_SetFont(hItem, GUI_FONT_20_ASCII);
        /* 初始化Checkbox1 */
        hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_1);
        CHECKBOX_SetText(hItem, "Checkbox1");
        CHECKBOX_SetFont(hItem, GUI_FONT_20_ASCII);
        /* 初始化Checkbox2 */
        hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_2);
        CHECKBOX_SetText(hItem, "Checkbox2");
        CHECKBOX_SetFont(hItem, GUI_FONT_20_ASCII);
        CHECKBOX_SetTextColor(hItem, GUI_LIGHTGRAY);
        CHECKBOX_SetState(hItem, 1);
        WM_DisableWindow(hItem);
        /* 初始化Checkbox3 */
        hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_3);
        CHECKBOX_SetText(hItem, "Checkbox3");
        CHECKBOX_SetFont(hItem, GUI_FONT_20_ASCII);
        CHECKBOX_SetSkinClassic(hItem);
        CHECKBOX_SetImage(hItem, &bmcheckbox_true, CHECKBOX_BI_ACTIV_CHECKED);
        break;
    case WM_NOTIFY_PARENT:
        Id    = WM_GetId(pMsg->hWinSrc);
        NCode = pMsg->Data.v;
        switch(Id) {
        case ID_CHECKBOX_0: // Notifications sent by 'Checkbox1'
            hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_0);
            switch(NCode) {
            case WM_NOTIFICATION_CLICKED:
                if(CHECKBOX_GetState(hItem))
                {
                    LED2(ON);
                }
                else
                {
                    LED2(OFF);
                }
                break;
            case WM_NOTIFICATION_RELEASED:
                break;
            case WM_NOTIFICATION_VALUE_CHANGED:
                break;
            }
            break;
        case ID_CHECKBOX_1: // Notifications sent by 'Checkbox2'
            hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_1);
            switch(NCode) {
            case WM_NOTIFICATION_CLICKED:
                if(CHECKBOX_GetState(hItem))
                    CHECKBOX_SetTextColor(hItem, GUI_RED);
                else
                    CHECKBOX_SetTextColor(hItem, GUI_BLACK);
                break;
            case WM_NOTIFICATION_RELEASED:
                break;
            case WM_NOTIFICATION_VALUE_CHANGED:
                break;
            }
            break;
        case ID_CHECKBOX_3: // Notifications sent by 'Checkbox3'
            hItem = WM_GetDialogItem(pMsg->hWin, ID_CHECKBOX_3);
            switch(NCode) {
            case WM_NOTIFICATION_CLICKED:
                if(CHECKBOX_GetState(hItem))
                    CHECKBOX_SetImage(hItem, &bmcheckbox_true, CHECKBOX_BI_ACTIV_CHECKED);
                else
                    CHECKBOX_SetImage(hItem, &bmcheckbox_false, CHECKBOX_BI_ACTIV_UNCHECKED);
                break;
            case WM_NOTIFICATION_RELEASED:
                break;
            case WM_NOTIFICATION_VALUE_CHANGED:
                break;
            }
            break;
        }
        break;
    default:
        WM_DefaultProc(pMsg);
        break;
    }
}
/**
 * @brief 以对话框方式间接创建控件
 * @note 无
 * @param 无
 * @retval hWin:资源表中第一个控件的句柄
 */
WM_HWIN CreateFramewin(void) {
    WM_HWIN hWin;

    hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
    return hWin;
}
/*********************************************************************
*
*     Public code
*
**********************************************************************
*/
/**
  * @brief GUI主任务
  * @note 无
  * @param 无
  * @retval 无
  */
void MainTask(void)
{
    /* 创建对话框 */
    CreateFramewin();
    while (1)
    {
        GUI_Delay(200);
    }
}

编译调试

  • 编译并下载到开发板
  • 可以看到LCD显示
  • 点击屏幕上复选框可以看到效果