关于面向对象的问题 (100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在做一个程序模块,这个模块的大致样式象一个资源浏览器原样子!
我想把TreeView中的结节点做成一个类,这样的的好处是:
一、对结点的操作委托给表示结点的类进行操作,界面只负责显示,不做实质的操作。
二、不同的结点不同可以通过子类化完成。
三。界面和结点类可以单独复用
四。我感觉这样结构比较清晰。
但现在的问题是:
如果结点类发生变化必然导致界变化,比如通过结点类删除或者添加一个结点,界面必然发生变化,相应的在ListView和TreeVeiw中添加结点。如何才能让结点类和界面分离。
或者就这个模块,大家有什么更好的办法。

 
结点类和界面分离?要画树的话就不能完全分离的,每个结点还是有PARENT的属性用来标识在树的位置。其它的和界面都没有关系。
响应事件不要在TTREEVEIW中做,做在节点类本身的事件中。
 
真让我失望,我决定以后尽量不来这儿问问题了!
 
先看看TreeView的源碼吧.
 
1。把自己的类或记录类型的结构设计好。
2。必须保留能构成链表的next指针,或保留父子关系指针(可以保存成数形类型)。
3。TreeView的添加和删除操作重写,即改成链表的插入和删除。
4。在显示的时候就用遍历链表或树来显示就可以了。
5。把链表的头的指针,或树的根的指针保存到TreeView的节点的Data中。
6。按你说,操作就对TreeView的节点的Data指针操作就可以了。
上面是按照我的理解所写,不知道是否符合你的意图!
 
TO socool_100
谢谢你!
 
这个问题我已经解决了,自认为还不错,我会整理整理与大家一起讨论!
 
后退
顶部