ucgui390部分控件之内存分布图

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_CreateWindowAsChildhClient分配空间。


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的其他部分。

你可能感兴趣的:(ucgui390部分控件之内存分布图)