【发布时间】:2015-05-15 03:53:13
【问题描述】:
我使用以下代码来获取与 Windows MFC View 窗口的客户区 DC 绑定的位图的大小:
void CView::OnDraw(CDC* )
{
CDC *pDc = GetDC();
BITMAP bmpHeader;
memset( &bmpHeader, 0, sizeof(BITMAP));
HGDIOBJ hbmp = GetCurrentObject(pDc->m_hDC, OBJ_BITMAP);
GetObject(hbmp,sizeof(BITMAP), &bmpHeader);
int bmpWidth = bmpHeader.bmWidth;
int bmpHeight = bmpHeader.bmHeight;
...
}
根据MSDN GetDC() 获取客户区dc:
根据为 CWnd 指定的类样式,检索指向客户区的公共、类或私有设备上下文的指针
所以我想 bmpWidth 和 bmpHeight 应该与客户区矩形的大小相同。但事实并非如此。它似乎是整个窗口的大小,包括工具栏区域和菜单区域。我在这里做错了吗?
【问题讨论】: