您的位置:首页 > 其它

在ClanLib中自定义按钮的几种方法

2007-12-13 23:04 246 查看
在最近的介面修改中,总结一下在ClanLib中如何去修改介面的一些方法:

1>新建一个控件类型.
有时现有的控件类型并不能满足我的需要,比如要做一组控件.它们之间需要互传一些自定义的数据类型.
下面主要记下几个需要修改的地方:
1>添加控件,继承自CL_Component.
2>由于我的控件不需要别人使用,因此控件的显视方法等操作也可以写在控件本身的代码中.因此不需要在
CL_StyleManager_XX 中的 connect_styles 中关连相应的 风格对象.
3>需要在虚拟函数 CL_StyleManager_XX::create_component 中把我新添加的控件类型加进去.
if ( type == "layout_button" )
{
return new CL_LayoutButton(parent, this);
}
return CL_StyleManager::create_component( type, parent );

2>在一个控件风格中,使用风格类型.
有时我们使用的按钮可能需要几种风格,但是一个控件只能对应一个style对象.这时可以象ClanLib中的列子代码CL_Button_ZZ那样
把几种风格在style对象中自已来区分.

3>过渡方法,使用多个 CL_StyleManager 来支持多种的 style 组合.
在我们要更新所有style的时候,但一时又不能全部更新完.在某些模块中又要保留原来的style.
这时可以使用多个style与多个CL_StyleManager来完成.但是在一个CL_GUIManager 中只能充许一个CL_StyleManager.
因此这种方法必须是要在不同的 CL_GUIManager 才能使用.
当然,也可以做为实现类似于魔兽争霸中不同的种族会有不同的GUI介面的那种效果的方法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: