一个MFC 单文档,在里面调用了一个类,怎么在另个一个类中得到当前的pDC的值。。
在线等
QQ:253150986
谢谢

解决方案 »

  1.   

    最简单的方式是把视类指针放在全局变量中,然后就可以用GetDC了
      

  2.   

    就是在VIEW类中写什么呢。
    调用类中写什么?
      

  3.   

    通过文档获得视图,设CDocument *pDoc;
    POSITION pos = pDoc->GetFirstViewPosition();
    {
    CView *pView = pDoc->GetNextView(pos);
    }通过CMainFrame获得视图GetActiveView通过app获得视图  CFrameWnd *pWnd = AfxGetApp()->m_pMainWnd;
      pWnd->GetActiveView()
      

  4.   

    使用CDC::GetSafeHdc把当前的pDC的句柄保存在一个全局的HDC变量中,
    使用时用CDC::Attach创建一个CDC对象,
    使用结束时CDC::Detach
      

  5.   


    CDocument *pDoc
    怎么初始化
      

  6.   

    HDC g_hDc=NULL;
    //保存
    g_hDc=pDC->GetSafeHdc();
    CDC dc;
    dc.Attach(g_hDc);
    ....
    dc.Detach()
      

  7.   

    晕,我本是要得到CVIEW里的pDC 
    你们要我先调用pDOC,
    现在调用pDoc 又要用到pDC。。到底怎么搞啊。
      

  8.   

    你是什么时候调用,什么类调用,MFC生成的框架应用类还是别的类?你说清楚才好办啊!
      

  9.   

    你在CDialog里设一个变量m_pView;
    在构造函数里添加一个变量CDialog(...,CView* pView);然后,如果在CView里面调用这个对话框的话,就这样CYourDlg dlg(..,this);
    这样可以吧