MFC绘图--使用不同DC

    技术2022-05-11  60

    //使用HDC绘图/*HDC hdc;hdc=::GetDC(m_hWnd);MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);LineTo(hdc,point.x,point.y);::ReleaseDC(m_hWnd,hdc);*///所有跟窗口相关的操作都被封装在CWnd类中//所有跟绘图相关的操作都被封装在CDC类中//使用CDC绘图/*CDC *pDC=CWnd::GetDC();//此处直接使用CWnd类的GetDC,其返回值为CDC*//SDK中的同名函数使用返回的是HDCpDC->MoveTo(m_ptOrigin);pDC->LineTo(point);CWnd::ReleaseDC(pDC);*/ //使用CClientDC绘图 /*CClientDC派生自CDC,在构造的时候调用GetDC,在析构的时候调用ReleaseDC。使得我们不必显示调用GetDC与ReleaseDC。*//*CClientDC dc(this);dc.MoveTo(m_ptOrigin);dc.LineTo(point);*///使用CWindowDC绘图/*同样派生自CDC,构造调用GetWindowDC,析构时调用ReleaseDC()。可以访问整个屏幕区域,包括客户区和非客户区。*//*CWindowDC dc(this);dc.MoveTo(m_ptOrigin);dc.LineTo(point);*///通过GetDesktopWindow获得桌面DC/*注意:用平台SDK同名函数获得的是句柄,CWnd中的同名函数获得的是CWnd指针。可以通过该函数获得桌面窗口的CWnd指针,使得我们可以对桌面进行操作。*//*CWindowDC dc(GetDesktopWindow());dc.MoveTo(m_ptOrigin);dc.LineTo(point);*/


    最新回复(0)