Posted on 2009-09-11 16:54
乱78糟 阅读(4973)
评论(6) 编辑 收藏 引用 所属分类:
界面控件
最近因为需要用到一个类似V8那个标签tab控件,在网上搜索了下,发现没有符合要求的,就只好自己动手丰衣足食。
这个控件有点像V8和FireFox标签的集合体。
具体的请参看代码vstab.h的描述,这里就不多废话,下面简单讲一下如何自绘。
第一步、我想要的功能? 明确自己将要绘制控件的功能是首要考虑的问题,有的放矢方能百发百中。
第二步、从哪里开始? 如果你想自己实现一整套UI类(例如支持多风格的界面库),那么,从零开始吧,MFC提供的大部分都不符合你的要求。如果仅仅绘制个别的,例如本例,具体从哪里继承派生就看你的选择。支持字体、颜色、进度条、编辑框的列表你完全可以从CListCtrl派生,从CWnd派生就完全没必要。如果要做一个类似QQ的包含内容十分丰富的好友列表,html,css,估计是少不了的。
第三步、用户如何使用? 功能和起点都想好了,然后就是给用户的接口。一个合乎用户使用习惯的让人一看就明白的接口名字是控件开发者必须要仔细考虑的问题,然后public、protect、private加上去,制约用户的行为。用户使用的时候不用考虑控件内部是怎么实现的,你给我接口,我完成功能,各司其职。
第四步、拿起画笔画刷开工 自绘是一门艺术,记住这句话。
第五步、指导手册?
没必要提供如同msdn那样详细完整的手册(除非你的控件接口内容非常之多),若干个demo+code注释足矣。
好了,废话完了,源码这里下载,如果有人有更好的代码或发现BUG请告诉我,非常的感谢。