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

在最近的介面修改中,总结一下在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介面的那种效果的方法. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值