mGNCS API Reference  v1.2.0
A new control set and a new framework for MiniGUI apps
mslider.h
Go to the documentation of this file.
1 
42 #ifdef _MGNCSCTRL_SLIDER
43 
44 #ifndef _MGUI_NCSCTRL_SLIDER_H
45 #define _MGUI_NCSCTRL_SLIDER_H
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif /* __cplusplus */
50 
56 /*
57  * \def NCSCTRL_SLIDER
58  * \brief the name of slider control
59 */
60 
61 #define NCSCTRL_SLIDER NCSCLASSNAME("slider")
62 
63 typedef struct _mSlider mSlider;
64 typedef struct _mSliderClass mSliderClass;
65 typedef struct _mSliderRenderer mSliderRenderer;
66 
67 #define mSliderHeader(Class) \
68  mWidgetHeader(Class)
69 
76 struct _mSlider
77 {
78  mSliderHeader(mSlider)
79 };
80 
81 #define mSliderClassHeader(clsName, parentClass) \
82  mWidgetClassHeader(clsName, parentClass)
83 
90 struct _mSliderClass
91 {
92  mSliderClassHeader(mSlider, mWidget)
93 };
94 
101 MGNCS_EXPORT extern mSliderClass g_stmSliderCls;
102 
103 #define mSliderRendererHeader(clsName, parentClass) \
104  mWidgetRendererHeader(clsName, parentClass) \
105  void (*calcSlider)(clsName *, DWORD calc_area); \
106  void (*drawSlider)(clsName *, HDC hdc);
107 
108 enum mSliderArea
109 {
110  NCSSLIDER_AREA_INCARROW = 0x01,
111  NCSSLIDER_AREA_DECARROW = 0x02,
112  NCSSLIDER_AREA_ARROWS = 0x03,
113  NCSSLIDER_AREA_SLIDER = 0x04,
114  NCSSLIDER_AREA_TRACK = 0x08,
115  NCSSLIDER_AREA_ALL = 0xFFFF //
116 };
117 
124 struct _mSliderRenderer
125 {
126  mSliderRendererHeader(mSlider, mWidget)
127 };
128 
134 enum mSliderProp {
140  NCSP_SLIDER_MAXPOS = NCSP_WIDGET_MAX + 1,
146  NCSP_SLIDER_MINPOS,
152  NCSP_SLIDER_CURPOS,
158  NCSP_SLIDER_LINESTEP,
164  NCSP_SLIDER_PAGESTEP,
165  NCSP_SLIDER_MAX
166 };
167 
172 #define NCSS_SLIDER_HORIZONTAL 0x0000L
173 
178 #define NCSS_SLIDER_VERTICAL (0x0001L<<NCSS_WIDGET_SHIFT)
179 
180 #define NCSS_SLIDER_SHIFT (NCSS_WIDGET_SHIFT + 2)
181 
182 
187 enum enumSliderNotify {
192  NCSN_SLIDER_CHANGED = NCSN_WIDGET_MAX,
196  NCSN_SLIDER_REACHMAX,
200  NCSN_SLIDER_REACHMIN,
201  //NCSN_SLIDER_STARTDRAG, /**< start to drag it*/
202  //NCSN_SLIDER_STOPDRAG, /**< stop to drag it*/
203  NCSN_SLIDER_MAX
204 };
205 
210 enum mSliderHitTest{
211  NCSSLIDER_HT_NONE = 0,
212  NCSSLIDER_HT_SLIDER ,
213  NCSSLIDER_HT_TRACK,
214  NCSSLIDER_HT_INCARROW,
215  NCSSLIDER_HT_DECARROW
216 };
217 #ifdef __cplusplus
218 }
219 #endif /* __cplusplus */
220 
221 #endif /* _MGUI_NCSCTRL_SLIDER_H */
222 #endif //_MGNCSCTRL_SLIDER
define the mWidget members, inherit from mComponent