mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
mprogressbar.h
Go to the documentation of this file.
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 
54 #ifdef _MGNCSCTRL_PROGRESSBAR
55 
56 #ifndef _MGUI_NCSCTRL_PROGRESSBAR_H
57 #define _MGUI_NCSCTRL_PROGRESSBAR_H
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif /* __cplusplus */
62 
68 /*
69  * \def NCSCTRL_PROGRESSBAR
70  * \brief the name of progressbar control
71 */
72 
73 #define NCSCTRL_PROGRESSBAR NCSCLASSNAME("progressbar")
74 
75 typedef struct _mProgressBar mProgressBar;
76 typedef struct _mProgressBarClass mProgressBarClass;
77 typedef struct _mProgressBarRenderer mProgressBarRenderer;
78 
79 #define mProgressBarHeader(Class) \
80  mWidgetHeader(Class)
81 
88 struct _mProgressBar
89 {
90  mProgressBarHeader(mProgressBar)
91 };
92 
93 #define mProgressBarClassHeader(clsName, parentClass) \
94  mWidgetClassHeader(clsName, parentClass) \
95  int (*increase)(clsName *self, int delta); \
96  int (*stepIncrease)(clsName *self);
97 
114 struct _mProgressBarClass
115 {
116  mProgressBarClassHeader(mProgressBar, mWidget)
117 };
118 
125 MGNCS_EXPORT extern mProgressBarClass g_stmProgressBarCls;
126 
127 #define mProgressBarRendererHeader(clsName, parentClass) \
128  mWidgetRendererHeader(clsName, parentClass) \
129  void (*drawProgress)(clsName* self, HDC hdc, const RECT *rc);
130 
143 struct _mProgressBarRenderer
144 {
145  mProgressBarRendererHeader(mProgressBar, mWidget)
146 };
147 
148 #define mHProgressBar mProgressBar
149 #define mHProgressBarClass mProgressBarClass
150 #define g_stmHProgressBarCls g_stmProgressBarCls
151 
152 #define mVProgressBar mProgressBar
153 #define mVProgressBarClass mProgressBarClass
154 #define g_stmVProgressBarCls g_stmProgressBarCls
155 
161 enum mProgressBarProp
162 {
168  NCSP_PROG_MAXPOS = NCSP_WIDGET_MAX + 1,
174  NCSP_PROG_MINPOS,
180  NCSP_PROG_CURPOS,
186  NCSP_PROG_LINESTEP,
187  NCSP_PROG_MAX
188 };
189 
194 #define NCSS_PRGBAR_HORIZONTAL 0x0000L
195 
200 #define NCSS_PRGBAR_VERTICAL (0x0001L<<NCSS_WIDGET_SHIFT)
201 
206 #define NCSS_PRGBAR_BLOCKS (0x0002L<<NCSS_WIDGET_SHIFT)
207 
212 #define NCSS_PRGBAR_SMOOTH (0x0000L<<NCSS_WIDGET_SHIFT)
213 
218 #define NCSS_PRGBAR_SHOWPERCENT (0x0004L<<NCSS_WIDGET_SHIFT)
219 
220 #define NCSS_PRGBAR_SHIFT (NCSS_WIDGET_SHIFT+5)
221 
224 #ifdef __cplusplus
225 }
226 #endif /* __cplusplus */
227 
228 #endif /* _MGUI_NCSCTRL_PROGRESSBAR_H */
229 #endif //_MGNCSCTRL_PROGRESSBAR
mWidget
define the mWidget members, inherit from mComponent