下列程序段中为什么运行会发生异常
void CMainWindow::OnPaint ()
{
CDC dc;
CRect rect;
GetClientRect(&rect);
dc.DrawText (_T("Hello MFC!"),-1,&rect,DT_SINGLELINE |          DT_CENTER | DT_VCENTER);
}而去掉最后一行确又可以运行
DrawText 不是CDC的一个成员函数吗?

解决方案 »

  1.   

    参数没有错啊
    我查了MSDN的啊
    请高手指教
      

  2.   

    去掉最后一行,就不会显示:“Hello MFC!”。
    整个程序运行,就没有什么意义。任何一个VC程序,只要不发生编译错误,都可以运行,但这就没有什么意义。
      

  3.   

    你的CDC对象没有初始化。

    CDC dc;

    CClientDC(this);
    或将
    dc.
    换成
    GetDC()->
      

  4.   


    CPaintDC可以这样初始化  CPaintDC dc(this);那请问CDC怎么样初始化呢?
    这样可以吗?
    CDC dc;