今天学习的效果图见图一:
友情提示:
1,不 要想当然.对于我们熟悉MFC的VC程序员来说,根据类名我们都能望文知意,也可以意象 类的层次关系. 对于XTP,你要小心了. 比如CXTPStatusBar, CXTPStatusBarPane之间没有继承关系,再比如 CXTPTabControl,CTabCtrl没有层次关系....
2,多看文档. 比如XTP8中,有CXTStatusBar,CXTPStatusBar,在XTP9中 都放到CXTPStatusBar中,当然XTP9
中还有很多CXT***类,也难为CodeJoke了,好的名字MFC用了,呵呵. 能统一当然是最好了.(目前文档中还有一些错误)
3,放下架子. 可能你以前使用过好几个界面库,甚至包括XTP的前身CJLib6,所以认为XTP小case. 错!!!XTP是一个
全新的类库 ,否则你会吃大亏.
4,以文档为准,不要信我,吃了亏我不负责 ^-^ 另外,我不是简单的翻译,看了教程,你还要看文档.
5,我的归纳和文档的组织方式可能不一样,我是分专题讲的哦.
一, TabManager类层次
CXTPTabClientWnd
CXTPTabCtrol
CXTPTabManager
CXTPTabManagerItem
CXTPTabPaintManager
CXTPTabManagerNavigateButton
1, CXTPTabManagerAtom :作用只有一个,监视事件:当PaintManager的一个属性改变时,call OnPropertyChanged,它call Reposition
2, CXTPTabManager:是docking pane tabs, tab control tabs, and MDI client tabs的基类
3,CXTPTabControl:用于TabCtrl的扩充,带类似office2003等的样式,注意:它不是从CTabCtrl继承
4,CXTPTabManagerItem,注意它直接从CCmdTarget继承,是 CommandBars TabWorkSpace, DockingPanes,
and TabControl(注:文档如此,事实上是不对的) 的基类,代表一个Tab Item.
5,CXTPTabManagerNavigateButton 代表 Tab上的Navigate按钮,
6,CXTPTabPaintManager从CCmdTarget继承,(和CXTPPaintManager没有关系哦)用来存储Tab Manager中
Tab的颜色和外观info
小结:看看文档,CXTPTabPaintManager真不是省油的灯.
7,CXTPTabClientWnd,(注:这个类是我组织过来的,文档中没整理好),它包含TabWorkSpace.威力巨大.