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类
很多地方还不是特别理解,写给自己看吧