窗口基類:
CL_GUIComponent
類似于mfc中的cwnd
主要功能:
管理窗口屬性.
維護窗口父子層關(guān)系.
基本消息處理
///////////////////////////////////////////////////////////////////////////////////////數(shù)據(jù)部分///////////////////////////////////////////////////////////////////////////////////////////////////////
//窗口關(guān)系數(shù)
?CL_GUIComponent *component;?????????//自己
?CL_GUIComponent *parent;?????????????????
?CL_GUIComponent *prev_sibling;?????????
?CL_GUIComponent *next_sibling;
?CL_GUIComponent *first_child;
?CL_GUIComponent *last_child;
?CL_GUIComponent::FocusPolicy focus_policy;???//激活類型
?CL_GUILayout layout;??????????????????????????????????????? //layout(布局?)
//屬性
?CL_String type_name;?????//類型名
?CL_String class_name;????//類名
?CL_String id_name;?????????//ID名
?bool allow_resize;????????????//是否允許拖動改變大小
?bool clip_children;????????????//是否裁剪子窗口
?bool enabled;
?bool visible;
?bool activated;
?bool click_through;?????????//字面意思應(yīng)該是是否過濾鼠標點擊
?CL_Rect geometry;?????????//窗口矩形
?mutable CL_String element_name;???//
?bool default_handler;?????????//缺省ok?
?bool cancel_handler;?????????//缺省取消?
?bool constant_repaint;??????//
?bool blocks_default_action_when_focused;
?bool is_selected_in_group;
?CL_String group_name;
然后是一系列的接口回調(diào)函數(shù)
?CL_Callback_v2<CL_GraphicContext &, const CL_Rect &> func_render;??????//繪制
?CL_Callback_v1<CL_GUIMessage &> func_process_message;???//消息處理
?CL_Callback_0<bool> func_close;//關(guān)閉
?CL_Callback_0<bool> func_activated;//激活
?CL_Callback_0<bool> func_deactivated;//激活解除
?CL_Callback_0<bool> func_focus_lost;//失去焦點
?CL_Callback_0<bool> func_focus_gained;//獲得焦點
?CL_Callback_0<bool> func_pointer_enter;//光標進入
?CL_Callback_0<bool> func_pointer_exit;//光標離開
?CL_Callback_1<bool, const CL_InputEvent &> func_input;//鍵盤輸入
?CL_Callback_1<bool, const CL_InputEvent &> func_input_pressed;//按鍵按下
?CL_Callback_1<bool, const CL_InputEvent &> func_input_released;//按鍵放開
?CL_Callback_1<bool, const CL_InputEvent &> func_input_doubleclick;//雙擊
?CL_Callback_1<bool, const CL_InputEvent &> func_input_pointer_moved;//關(guān)閉移動
?CL_Callback_v0 func_style_changed;//風格改變
?CL_Callback_v0 func_enablemode_changed;//
?CL_Callback_v0 func_resized;//大小改變
?CL_Callback_v1<CL_GUIMessage &> func_filter_message;//消息過濾
?CL_Callback_2<CL_GUIComponent*, CL_GUIComponent*, CL_String> func_create_custom_component;//定制窗口
?CL_Callback_v1<bool> func_visibility_change;//顯示改變
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////函數(shù)////////////////////////////////////////////////////////////////////////////////////////////////////////
posted on 2010-06-29 16:16
我風 閱讀(333)
評論(0) 編輯 收藏 引用 所屬分類:
ClanLib