FRAMEWIN_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
FRAMEWIN_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _FRAMEWIN_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
const GUI_FONT GUI_UNI_PTR * | pFont |
FRAMEWIN_PROPS
Props;
| ||
GUI_COLOR | aBarColor[2]; | |||
GUI_COLOR | aTextColor[2]; | |||
GUI_COLOR | ClientColor; | |||
I16 | TitleHeight; | |||
I16 | BorderSize; | |||
I16 | IBorderSize; | |||
WM_CALLBACK*
| cb;= _cbCallback
|
| ||
WM_HWIN | hClient; | |||
WM_HWIN | hMenu; | |||
WM_HWIN | hText; | |||
GUI_RECT | rRestore; | |||
I16 | TextAlign; | |||
U16 | Flags; | |||
WM_HWIN | hFocussedChild; | |||
WM_DIALOG_STATUS* | pDialogStatus; | |||
GUI_HOOK* | pFirstHook; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在FRAMEWIN_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写FRAMEWIN_Obj的其他部分,并再次调用WM_CreateWindowAsChild为hClient分配空间。
BUTTON_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
BUTTON_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= BUTTON_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
GUI_COLOR | aBkColor[3]; |
BUTTON_PROPS
Props;
| ||
GUI_COLOR | aTextColor[3]; | |||
const GUI_FONT GUI_UNI_PTR * | pFont; | |||
I16 | Align; | |||
WM_HMEM
| hpText;
|
| ||
WM_HMEM | ahDrawObj[3]; | |||
int | DebugId; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在BUTTON_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写BUTTON_Obj的其他部分.
TEXT_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
TEXT_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _TEXT_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
WM_HMEM | hpText; |
| ||
const GUI_FONT GUI_UNI_PTR * | pFont; | |||
I16 | Align; | |||
GUI_COLOR | TextColor; | |||
GUI_COLOR | BkColor; | |||
int; | DebugId |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在TEXT_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写TEXT_Obj的其他部分。
EDIT_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
EDIT_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= EDIT__Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
WM_HMEM | hpText; |
| ||
I16 | MaxLen; | |||
U16 | BufferSize; | |||
I32 | Min, Max; | |||
U8 | NumDecs; | |||
U32 | CurrentValue; | |||
int | CursorPos; | |||
unsigned | SelSize; | |||
U8 | EditMode; | |||
U8 | XSizeCursor; | |||
U8 | Flags; | |||
tEDIT_AddKeyEx * | pfAddKeyEx; | |||
tEDIT_UpdateBuffer * | pfUpdateBuffer; | |||
int | Align; |
EDIT_PROPS Props; | ||
int | Border; | |||
const GUI_FONT GUI_UNI_PTR * | pFont; | |||
GUI_COLOR | aTextColor[2]; | |||
GUI_COLOR | aBkColor[2]; | |||
int; | DebugId |
| ||
int | CurrsorShow; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在FRAMEWIN_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写EDIT_Obj的其他部分。
LISTBOX_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
LISTBOX_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _LISTBOX_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
U16 | NumItems; | GUI_ARRAY
ItemArray; | ||
WM_HMEM | haHandle; | |||
GUI_ARRAY_STATE | InitState; | |||
WIDGET_DRAW_ITEM_FUNC* | pfDrawItem; |
| ||
int, | NumItems | WM_SCROLL_STATE ScrollStateV;
| ||
int | v | |||
int | PageSize; | |||
int, | NumItems | WM_SCROLL_STATE ScrollStateH;
| ||
int | v | |||
int | PageSize; | |||
const GUI_FONT GUI_UNI_PTR* | pFont; |
LISTBOX_PROPS Props;
| ||
U16 | ScrollStepH; | |||
GUI_COLOR | aBackColor[4]; | |||
GUI_COLOR | aTextColor[4]; | |||
WM_HWIN | hOwner; |
| ||
int | DebugId; | |||
I16 | Sel; | |||
U8 | Flags; | |||
U8 | ScrollbarWidth; | |||
U16 | ItemSpacing; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在LISTBOX_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写LISTBOX_Obj的其他部分。
CHECKBOX_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
CHECKBOX_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _CHECKBOX_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
const GUI_FONT GUI_UNI_PTR * | pFont; |
CHECKBOX_PROPS
Props;
| ||
GUI_COLOR | aBkColorBox[2]; | |||
GUI_COLOR | BkColor; | |||
GUI_COLOR | TextColor; | |||
I16 | Align; | |||
U8 | Spacing; | |||
const GUI_BITMAP * | apBm[4]; | |||
U8 | NumStates; |
| ||
U8 | CurrentState; | |||
WM_HMEM | hpText; | |||
int | DebugId; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在CHECKBOX_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写CHECKBOX_Obj的其他部分。
SLIDER_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
SLIDER_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _SLIDER_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
GUI_COLOR | aBkColor[2]; |
| ||
GUI_COLOR | aColor[2]; | |||
int | Min, Max, v; | |||
int | Flags; | |||
int | NumTicks; | |||
I16 | Width; | |||
int | DebugId;
|
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在SLIDER_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写SLIDER_Obj的其他部分。
DROPDOWN_Obj内存图:
GUI_RECT | Rect |
WM_
Obj
Win;
|
WIDGET
Widget;
|
DROPDOWN_Obj
|
GUI_RECT | InvalidRect | |||
WM_CALLBACK*
| cb= _DROPDOWN_Callback
| |||
WM_HWIN | hNextLin; | |||
WM_HWIN | hParent; | |||
WM_HWIN | hFirstChild; | |||
WM_HWIN | hNext; | |||
U16 | Status; | |||
const WIDGET_EFFECT* | pEffect |
| ||
I16
| Id;
| |||
U16 | State; | |||
I16 | Sel |
| ||
I16 | ySizeEx; | |||
I16 | TextHeight; | |||
U16 | NumItems; | GUI_ARRAY
Handles; | ||
WM_HMEM | haHandle; | |||
GUI_ARRAY_STATE | InitState; | |||
int, | NumItems | WM_SCROLL_STATE ScrollState;
| ||
int | v | |||
int | PageSize; | |||
const GUI_FONT GUI_UNI_PTR * | pFont; | DROPDOWN_PROPS
Props;
| ||
GUI_COLOR | aBackColor[3]; | |||
GUI_COLOR | aTextColor[3]; | |||
I16 | TextBorderSize; | |||
I16 | Align; | |||
WM_HWIN | hListWin; |
| ||
U8 | Flags; | |||
U16 | ItemSpacing; | |||
U8 | ScrollbarWidth; | |||
char | IsPressed; | |||
int | DebugId; |
在WM_CreateWindowAsChild中申请空间,并在此函数中填写WM_Obj部分
在LISTBOX_CreateEx中调用WIDGET__Init填写WIDGET的其他部分。并在此函数中填写DROPDOWN_Obj的其他部分。