我从网上下载了一个例子程序(多个树控件之间拖动项目的程序),运行正常,可是当我自己创建了一个工程,移植程序时,其中用到了类COleDropTarget,可是我在利用VC++6.0的ClassWizard创建一个新类时:class CTreeDropTarget :public COleDropTarget 。在Base Class 中却找不到COleDropTarget。查MSDN,要求将头文件afxole包含到Stdafx.h中(#include <afxole.h>),我已照做,可还是不行。我是新手,请高手指点,我该如何生成这个类?感谢为盼!!!

解决方案 »

  1.   

    创建一个一般类,将基类改为COleDropTarget即可。
      

  2.   

    我试了,不行。可能是因为没能从MFC的类继承的缘故,拖动的效果出不来。
      

  3.   

    详细阅读<VC6.0程序员指南>
    1.点击Insert Class,弹出New Class对话框;
    2.Class Type选取Generic Class
    3.下面列表框  Derived Class键入COleDropTarget
    4.后面的AS框  设置为public..此处为继承方式.
    5.Class Name  输入CTreeDropTarget
    6.点击OK.就行了.PS:
    强烈推荐<VC6.0程序员指南>
    这是一本介绍怎么使用VC这个应用程序...
    象怎么管理工程啊...怎么设置编译器...怎么使用ClassWizard...怎么使用组件库...等等
    免得问这些低级的问题...
      

  4.   

    非常感谢您的详细说明!可是我也是这么做的,但我新建的这个类,就是不能被其它类所识别。可能我说得不太清楚,我已经生成了这个类A,也在另一个类B的头文件中加入了类A的头文件。可是类B中引用的类A的函数与变量却不能用。也就是说,COleDropTarget是一个Generic Class,还是一个MFC class?如果是MFC class,那如何来添加?
      

  5.   

    这是一个MFC类...
    象WinApp类也不能从MFC Class自动添加.只能用我所说的方法添加.加上
    #include <afxole.h>
    试试看
      

  6.   

    编译能通过吗?
    这个类要注册的..
    我查了一下<Insert OLE2>
    只是介绍要用register向系统注册一下这个窗口类的.
    也就是你的树形控件窗口类