MFC关于GetDC()的问题??
voidCMazeView::DCEnvIntitial(void){CDC*pWindowDC=GetDC();CRectwindowRect;GetClientRec...
void CMazeView::DCEnvIntitial(void)
{
CDC *pWindowDC=GetDC();
CRect windowRect;
GetClientRect(&windowRect);
m_nWidth=windowRect.Width();
m_nHeight=windowRect.Height();
m_memDC.CreateCompatibleDC(pWindowDC);
m_memBmp.CreateCompatibleBitmap(pWindowDC,m_nWidth,m_nHeight);
m_memDC.SelectObject(&m_memBmp);
m_memRectDC.CreateCompatibleDC(pWindowDC);
m_hMemRectBmp=(HBITMAP)LoadImage(NULL,_T("fangkuai.bmp"),IMAGE_BITMAP,40,40,LR_LOADFROMFILE);
SelectObject(m_memRectDC.m_hDC,m_hMemRectBmp);
ReleaseDC(pWindowDC);
}
我在CMaze的构造函数里调用这个这个函数,出现错误,
_AFXWIN_INLINE CDC* CWnd::GetDC()
{ ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
怎么回事呢??初学MFC。。 展开
{
CDC *pWindowDC=GetDC();
CRect windowRect;
GetClientRect(&windowRect);
m_nWidth=windowRect.Width();
m_nHeight=windowRect.Height();
m_memDC.CreateCompatibleDC(pWindowDC);
m_memBmp.CreateCompatibleBitmap(pWindowDC,m_nWidth,m_nHeight);
m_memDC.SelectObject(&m_memBmp);
m_memRectDC.CreateCompatibleDC(pWindowDC);
m_hMemRectBmp=(HBITMAP)LoadImage(NULL,_T("fangkuai.bmp"),IMAGE_BITMAP,40,40,LR_LOADFROMFILE);
SelectObject(m_memRectDC.m_hDC,m_hMemRectBmp);
ReleaseDC(pWindowDC);
}
我在CMaze的构造函数里调用这个这个函数,出现错误,
_AFXWIN_INLINE CDC* CWnd::GetDC()
{ ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
怎么回事呢??初学MFC。。 展开
2个回答
展开全部
我觉得对于一个程序员来说首先你要学会单步调试
还有对于指针操作来说你要学会使用断言。
如果上述两个你做到了,我相信你任何问题都能解决的。。。
GetDC()是获取当前句柄的DC再MFC中师获取他的CDC的。然后使用这个DC操作图形界面。。
还有对于指针操作来说你要学会使用断言。
如果上述两个你做到了,我相信你任何问题都能解决的。。。
GetDC()是获取当前句柄的DC再MFC中师获取他的CDC的。然后使用这个DC操作图形界面。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-07-11 广告
2023-07-11 广告
IEC62133与en62133的区别如下:1. 认证机构不同:IEC62133是国际的标准,它以国际通用的标准进行生产;而en62133采用的是欧盟的标准,它使用欧盟的生产需求进行生产。2. 宗旨不同:IEC62133的宗旨是促进电气、电...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询