左边视图为CTreeView,右边为Cscrollview,左视图中有一棵树,每个叶子对应一幅图象,我实现了选择不同的叶子,在右边视图的图象发生变化,但是我单我选择非叶子是,还是存在某一副图象,不知有什么好办法来让右边的图象不显示出来?望各位高手赐教.

解决方案 »

  1.   

    你可以在CTreeView中响应OnSelecteChanged消息,在内部,你可以调用文档类的UpdateAllViews(NULL)来通知右边的ScrollView进行更新重画。
        在右边的ScrollView中添加OnUpdate()消息,它会接受来自文档的UpdateAllView()。你可以在这里判断左边TreeView当前选择的是非叶子还是叶子,从而做相应的重画操作。
        至于说,如何判断当前是非叶子还是叶子,你可以去看看CTreeCtrl的函数。不过我建议你用SetItemData()函数来添加一个标记来标记此节点是否是图象。