|
|
现在想实现界面的图文混排。主要设计3个东西,一个是存储元素属性的类。比如图片元素包含图片大小,帧数以及文件路径等
第二个是管理这些元素的类。比如插入或删除了上面提到的元素,对这些元素的位置进行管理。如果上面元素的类是ItemInfoBase那么这个类应该有个list<ItemInfoBase*>m_ItemInfos的东西来管理对元素的操作。
第三个是负责显示这些元素信息的类并且提供对第二个类的对象插入或删除的操作。如果第二个类是ItemBase那么这个类应该有个list<ItemBase*>m_Items东西来管理对ItemBase元素的操作。
就好比是listBox(listBox由好多个listBoxItem组成, listBoxItem由可能包含图片或文字信息)
现在主要问题是对这些元素要求有两种显示方法,一种是用类似画笔之类的东西直接把这些东西画出来,另一种是用窗口的方式(这个时候每个ItemInfoBase都要比第一种显示方式的元素多一个类型Window* 的这样的一个属性).
如何设计好这些类,感觉第一显示种方式和第二种显示方式中有很多可以重用的代码,又有很多不一样的地方 |
|