点击树型节点,CListCtrl控件上显示不同的文件内容?(从文件读取记录,显示到CListCtrl控件)?

解决方案 »

  1.   

    还有一个问题:
           我用的是CHistoryManagerDlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
                     点击树型节点,在CListCtrl控件上显示相同的记录内容。
                     关闭应用程序,再重新打开。
                     CListCtrl控件上显示不同相同的记录内容。
       这是什么原因?
               请指教!
      

  2.   

    第一个问题:
      觉得你说的不够明白。首先应该确定的是,一个节点所代表的东西,对应一组数据。这样的话,你就应该在节点的PARAM属性中保存这个节点所代表的信息。在OnSelChanged事件中,取得这个节点代表的信息,通过这个信息找到对应的一组数据,显示在ListCtrl中就可以了。
      你哪个步骤不明白?  例如,系统中的资源管理器,左边是目录树结构,右边是目录中的文件。做这个东西,要在树节点中记录一个值,这个值能够标识是哪个目录。然后OnSelChanged时,重新查找文件,画到ListCtrl中就可以了。
      

  3.   

    我点击树节点,从文件中读取记录显示在CListCtrl控件上。
        这一步,我能实现。
        关键是:
              我在再点击另一个树节点时,CListCtrl控件显示相同的记录内容。无论你点击多少个节  点,都是一样。
              关闭程序,再重新打开。点击树节点,CListCtrl控件上显示不同相同的记录内容,
    再点击另一个树节点时,情况跟上一次一样。
                
      

  4.   

    1,你取得的数据是否正确,是不是真正的取得了不同的数据。
    2,重新填写ListCtrl前,清空列表内的数据DeleteAllItems(),然后填入新数据,然后UpdateWindow()。
      

  5.   

    猜想楼主的意思是点树中的文件名来获得文件内容然后显示在LIST中?
    这样的话
    1、根据选中的树节点获得文件名,然后用CFile打开,然后读内容。
    2、节点改变时候就deleteallitems,重复1。不过这种好象不是楼住的意思
    那么另外一种:
    楼住在一个文件中有多行文本
    选树第一节点则显示第一行。每行是一个记录,通过;搁开。那么用CStdioFile打开,然后呢逐步查找。
    分离记录。进行显示。
    有什么问题呢?