我只是简单地搞个MFC dialog,开一个定时器,不停地显示/不显示
void Cmfc_ui_all_testDlg::OnTimer(UINT_PTR nIDEvent)
{
static int i = 0;
i = !i;
ShowWindow(i);
CDialog::OnTimer(nIDEvent);
}
结果内存就一直在上升
比较急,在做一个项目,谢谢

解决方案 »

  1.   

    你确定是OnEraseBkgnd里的问题?那你的OnEraseBkgnd函数里写了什么?
      

  2.   

    补充一下,WM_ERASEBKGND不捕获消息没问题
    捕获了WM_ERASEBKGND消息,即使就按MFC原来的代码也有这个情况
    BOOL Cmfc_ui_all_testDlg::OnEraseBkgnd(CDC* pDC)
    {

    return CDialog::OnEraseBkgnd(pDC);
    }情况和
    http://topic.csdn.net/u/20100802/17/b24e2b55-d662-4d56-8613-aa26ac4ba683.html?seed=1686963419&r=78465265#r_78465265
    类似,但那个贴子也没有满意的答案
      

  3.   

    补充一下,此问题是在WINCE6+VS2008下重现的
    在WIN32 XP + VS2008测试过,不存在此问题请高手指教!