在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介面的那种效果的方法.
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介面的那种效果的方法.
相关文章推荐
- Jquery自定义button按钮的几种方法
- Jquery自定义button按钮的几种方法
- [转]ASP.NET MVC中实现多个按钮提交的几种方法
- 自定义的tabBarController的几种方法
- Android按钮单击事件处理的几种方法(Android学习笔记)
- 为数字键盘添加自定义按钮的方法
- Android ImageButton自定义按钮的按下效果的代码实现方法分享
- ASP.NET MVC中实现多个按钮提交的几种方法
- 三种自定义圆形按钮的方法
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法
- ASP.NET MVC中实现多个按钮提交的几种方法
- 将文件上传按钮透明,并覆盖到自定义上传文件按钮上去的方法
- [按钮点击事件的几种方法]
- 同时运行多个scrapy爬虫的几种方法(自定义scrapy项目命令)
- 关于iOS自定义UITabBar的几种方法
- Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法
- ios7自定义返回按钮后,右滑返回功能失效解决方法
- iOS小技巧 - 调换按钮中文字与图标的位置(自定义button,重写两个方法)
- 禁用IE的后退按钮|显示网页已过期|几种语言的实现方法|c#|javascript|html
- android 让一个控件按钮居于底部的几种方法