歡迎您光臨本站 登入註冊首頁

ucgui 部分控制項內存分布圖

admin @ 2014-03-25 , reply:0

概述

FRAMEWIN_Obj內存圖:GUI_RECTRect   WM_Obj      Win; &n……
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     
< div> 

[admin via 研發互助社區 ] ucgui 部分控制項內存分布圖已經有2113次圍觀

http://cocdig.com/docs/show-post-42207.html