MFC中GetDC()如何获得指定区域的渲染环境?

MFC中,在CView类的继承类中,调用GetDC()函数,比如绘图前通过GetDC()函数后,获取相应的窗口句柄,但这应该是个全局函数,它如何准确知道用户要获取哪一部分的屏幕区域呢?是因为在对应的CView中,通过CView对应的窗口来查找的吗?

对于create的dc应该予以deletedc,而对于getdc的应予以releasedc
一、 CDC *pDC = GetDC();
CPen pen(PS_SOLID, 2, RGB(0,0,255));
pDC->SelectObject(&pen);
pDC->MoveTo(10, 10);
pDC->LineTo(500, 450);
ReleaseDC(pDC);
二、
CClientDC dc(this);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&m_bitmap);
pMemDC->BitBlt(m_rcWindowRect.left, m_rcWindowRect.top, m_rcWindowRect.Width(), m_rcWindowRect.Heigh(), &dcCompatible, 0, 0, SRCCOPY);
pMemDC->StretchBlt(m_rcWindowRect.left, m_rcWindowRect.top, m_rcWindowRect.Width(), m_rcWindowRect.Height(), &dcCompatible, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
DeleteDC(dcCompatible);
三、
CPaintDC dc(this);
//CPaintDC只在OnPaint函数里有效。
HDC hDC;
CDC *pDC = m_pParentDlg->GetDC();
hDC = CreateCompatibleDC(pDC->GetSafeHdc());
HGDIOBJ hOldBmp = SelectObject(hDC, m_hbitmap);
StretchBlt(pDC->m_hDC, 535, 70, 200, 150, hDC, 0, 0, m_tuwidth, m_tuheight, SRCCOPY);
SelectObject(hDC, hOldBmp);
DeleteDC(hDC);
m_pParentDlg->ReleaseDC(pDC);

wince从文件里面加载bmp格式图片:(要包含头文件ShellAPI.h)
#include HBITMAP hmap;
hmap = SHLoadDIBitmap(_T("\SDMMC\Test\kenan.bmp"));
CDC dcCompatible; dcCompatible.CreateCompatibleDC(pMemDC);
SelectObject(dcCompatible, hmap);
BitBlt(pMemDC->m_hDC, m_rcWindowRect.left, m_rcWindowRect.top, m_rcWindowRect.Width(), m_rcWindowRect.Height(), dcCompatible, 0, 0, SRCCOPY);
DeleteDC(dcCompatible)

你需要确定你是在哪个HWND窗口类中调用的GetDC()