我在对话框中的Edit中输入文字,每输入一个文字后,就立刻在视图上显示,定义了一个视图类的指针,用于刷新视图,但这样使用以后,系统的资源消耗的很厉害,一会儿就出错了,请高手帮忙!指针定义如下:
CMainFrame* pMainWnd = (CMainFrame*)AfxGetMainWnd();
CDS_1View* pView = (CDS_1View*)pMainWnd->GetActiveView();
CRect rect(0,0,200,150);
pView->InvalidateRect(&rect);

解决方案 »

  1.   

    使用完以后将* pView 和* pMainWnd 两个指针delete
      

  2.   

    这儿没有问题
    ================
    不能delete
    因为不是你new的
    如果你delete了
    系统无法使用
    这些内容系统绝对会使用
      

  3.   

    你试试
    如果你delete
    你下令把工具栏关闭
    会怎么样
      

  4.   

    以上代码没有问题!!!
    肯定是你在视图中显示时使用了一些GDI对象,用完后又没有释放,我以前也碰到过。
    GDI对象包括:pen,brush,bitmap,font等。
    for example:
    void example(CDC *pDC)
    {
    CFont font,*pOldFont;
    font.Create(...);
    pOldFont=pDC->SelectObject(&font);
    pDC->TextOut(...);
    pDC->SelectObject(pOldFont);//这一句很重要,否则font占用的资源就不会释放
    }
      

  5.   

    出错的问题不在这里,你再查一下其他代码,比如有没有申请DC、Pen、brush等等没有deleteobject的
      

  6.   

    以上代码没有问题!!!
    肯定是你在视图中显示时使用了一些GDI对象,用完后又没有释放,我以前也碰到过。
    GDI对象包括:pen,brush,bitmap,font等。
    for example:
    void example(CDC *pDC)
    {
    CFont font,*pOldFont;
    font.Create(...);
    pOldFont=pDC->SelectObject(&font);
    pDC->TextOut(...);
    pDC->SelectObject(pOldFont);
    font.DeleteObject();//这一句很重要,否则font占用的资源就不会释放}