帮忙看看哪里错了,为什么就画不出来呢???

sycnick 2004-08-27 06:01:57
HBITMAP hBitMap;
CStatic *pStatic=(CStatic *)GetDlgItem(IDC_STATIC_PIC);
CDC dc;
CDC *pDC = pStatic->GetDC();

CWnd *pWnd=GetDlgItem(IDC_STATIC_PIC);
CRect rcStatic ;
pWnd->GetClientRect(&rcStatic);

if(!dc.CreateCompatibleDC(pDC)) return;

CBitmap b;
CBitmap *membitmap;
CBitmap membit;
membit.CreateCompatibleBitmap(pDC,rcStatic.Width(),rcStatic.Height());
BITMAP bm;
for (i = 0; i < 10; i++)
{
hBitMap = GetCardBmp(i); // 获得图象句宾,该函数调用保证正确
b.Attach(hBitMap);
b.GetBitmap(&bm);
membitmap = dc.SelectObject(&membit);
dc.BitBlt(10 + i*15, 10, bm.bmWidth, bm.bmHeight,pDC, 0, 0, SRCCOPY);
dc.SelectObject(membitmap);
b.Detach();
}

pDC->BitBlt(10, 10, 10+9*15+bm.bmWidth, bm.bmHeight, &dc, 0, 0, SRCCOPY);
b.DeleteObject();
ReleaseDC(pDC); // 释放DC资源 */
}

为什么什么都画不出来???
...全文
76 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sycnick 2004-08-27
  • 打赏
  • 举报
回复
还是不行啊,画出来的是黑的一条一条
lianglp 2004-08-27
  • 打赏
  • 举报
回复
你这样当然画不出来了,membitmap里面又没有什么东西,
for (i = 0; i < 10; i++)
{
hBitMap = GetCardBmp(i);
b.Attach(hBitMap);
b.GetBitmap(&bm);
membitmap = dc.SelectObject(&membit);
dc.BitBlt(10 + i*15, 10, bm.bmWidth, bm.bmHeight,pDC, 0, 0, SRCCOPY);
//dc.SelectObject(membitmap);这一句拿掉试一下。
b.Detach();
}
howtotell 2004-08-27
  • 打赏
  • 举报
回复
GetCardBmp(i);
这个函数是哪里来的?

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧