mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
minvisible-component.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 
55 #ifndef _MGUI_NCSCTRL_INVISIBLECOMP_H
56 #define _MGUI_NCSCTRL_INVISIBLECOMP_H
57 
58 #ifdef __cplusplus
59 extern "C"{
60 #endif
61 
66 typedef struct _mInvsbCompClass mInvsbCompClass;
67 typedef struct _mInvsbComp mInvsbComp;
68 
69 
70 #define mInvsbCompClassHeader(clss, superCls) \
71  mComponentClassHeader(clss, superCls)
72 
81 struct _mInvsbCompClass {
82  mInvsbCompClassHeader(mInvsbComp, mComponent)
83 };
84 
89 MGNCS_EXPORT extern mInvsbCompClass g_stmInvsbCompCls; //Class(mInvsbComp);
90 
91 
92 #define mInvsbCompHeader(clss) \
93  mComponentHeader(clss) \
94  int id; \
95  mComponent* parent, *prev, *next;
96 
108 struct _mInvsbComp {
109  mInvsbCompHeader(mInvsbComp)
110 };
111 
117  NCSP_IVCMPT_MAX = 0
118 };
119 
122 
124 
140 typedef struct _NCS_INVSB_CREATE_INFO {
148  int id;
161 
165  DWORD user_data;
167 
183 MGNCS_EXPORT mInvsbComp * ncsCreateInvsbComp(const char* class_name, mComponent* parent, int id, NCS_PROP_ENTRY *props, NCS_EVENT_HANDLER * handlers, DWORD user_data);
184 
196 MGNCS_EXPORT mInvsbComp * ncsCreateInvsbCompIndirect(const char* class_name, NCS_INVSB_CREATE_INFO *create_info);
197 
198 
203 #ifdef __cplusplus
204 }
205 #endif
206 
207 
208 #endif
209 
210 
mComponent
the component member define
_NCS_INVSB_CREATE_INFO::id
int id
Definition: minvisible-component.h:148
_NCS_INVSB_CREATE_INFO::props
NCS_PROP_ENTRY * props
Definition: minvisible-component.h:154
_NCS_INVSB_CREATE_INFO::parent
mComponent * parent
Definition: minvisible-component.h:144
_NCS_EVENT_HANDLER
Definition: mcomponent.h:378
_NCS_INVSB_CREATE_INFO::handlers
NCS_EVENT_HANDLER * handlers
Definition: minvisible-component.h:160
NCS_INVSB_CREATE_INFO
struct _NCS_INVSB_CREATE_INFO NCS_INVSB_CREATE_INFO
ncsInvsbCompProp
ncsInvsbCompProp
the invisible component property define
Definition: minvisible-component.h:116
ncsCreateInvsbCompIndirect
MGNCS_EXPORT mInvsbComp * ncsCreateInvsbCompIndirect(const char *class_name, NCS_INVSB_CREATE_INFO *create_info)
create an Invisible Component from creating info
ncsCreateInvsbComp
MGNCS_EXPORT mInvsbComp * ncsCreateInvsbComp(const char *class_name, mComponent *parent, int id, NCS_PROP_ENTRY *props, NCS_EVENT_HANDLER *handlers, DWORD user_data)
create an Invisible Component
_NCS_INVSB_CREATE_INFO::user_data
DWORD user_data
Definition: minvisible-component.h:165
_NCS_INVSB_CREATE_INFO
Definition: minvisible-component.h:140
mInvsbCompClass
define the VTable of mInvsbComp, inherit mComponentClass
mInvsbComp
define the mInvsbComp members , inherit from mComponent. An Invisible Component is a Component only s...
g_stmInvsbCompCls
MGNCS_EXPORT mInvsbCompClass g_stmInvsbCompCls
the singleton mInvsbCompClass
_NCS_PROP_ENTRY
Definition: mwidget.h:857