posts - 126,  comments - 73,  trackbacks - 0
窗口基类:CL_GUIComponent
类似于mfc中的cwnd
主要功能:
管理窗口属性.
维护窗口父子层关系.
基本消息处理

///////////////////////////////////////////////////////////////////////////////////////数据部分///////////////////////////////////////////////////////////////////////////////////////////////////////
//窗口关系数
 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;         //字面意思应该是是否过滤鼠标点击
 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;

然后是一系列的接口回调函数
 CL_Callback_v2<CL_GraphicContext &, const CL_Rect &> func_render;      //绘制
 CL_Callback_v1<CL_GUIMessage &> func_process_message;   //消息处理
 CL_Callback_0<bool> func_close;//关闭
 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;//关闭移动
 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;//显示改变
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////函数////////////////////////////////////////////////////////////////////////////////////////////////////////

posted on 2010-06-29 16:16 我风 阅读(273) 评论(0)  编辑 收藏 引用 所属分类: ClanLib

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年6月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

留言簿(12)

随笔分类

随笔档案

文章档案

相册

收藏夹

C++

MyFavorite

搜索

  •  

积分与排名

  • 积分 - 310084
  • 排名 - 72

最新评论

阅读排行榜

评论排行榜