在自定义类中使用CView指针遇到的问题

1、之前在cview类中直接加载了数据库图片,并显示,今天想着把这部分功能拿出来,单独写一个类实现,但是遇到了些问题:由于这部分功能中需要动态创建CStatic 对象,那么就需要CView类句柄;

CSuperLabel *mm = new CSuperLabel;
mm->Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER,rect,/*mainFrame->GetActiveView()*/mView);

这里需要获得mView指针:

CMainFrame * mainFrame = (CMainFrame*) AfxGetMainWnd();
    CTestView * mView = (CTestView*)(mainFrame->GetActiveView());

我这样获得,提示没有的标识符 CTestView ,然后我就#include “testview.h”  ;这里又把错误定在了testview.h中的   CTestDoc* GetDocument() const;  不认这个地方,

 开始没怎么想,觉得,这都是mfc做好的了,为什么还报错呢,不让我用么,不会吧,GetDocument()只是CtestView类的一个成员函数而已,在头文件中添加了#include “testDoc.H" 则不再提示错误。

2.在这个过程中,

CMainFrame * mainFrame = (CMainFrame*) AfxGetMainWnd();

CSuperLabel *mm = new CSuperLabel;
mm->Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER,rect,mainFrame->GetActiveView());

我直接使用了创建的类的基类来实现,这样就不用CTestView类


很多地方还不是特别理解,写给自己看吧

你可能感兴趣的:(在自定义类中使用CView指针遇到的问题)