编的小游戏运行了一会怎么画的图形都变白色了?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我绘图的代码case WM_PAINT: RECT rect; GetClientRect(hWnd,&rect); cxClient=rect.right; cyClient=rect.bottom; hdc = BeginPaint(hWnd, &ps); memDC = CreateCompatibleDC(hdc); memDC2 = CreateCompatibleDC(hdc); /* create compatible DC */ memDC3 = CreateCompatibleDC(hdc); SelectObject(memDC2,hBit1); BitBlt(memDC3,0,0,1100,510,memDC2,0,0,SRCCOPY); /* display image */ hRandBrush = CreateSolidBrush(RGB(22,139,235)); hRandPen = CreatePen(PS_SOLID,1,RGB(22,139,235)); hOldBrush = (HBRUSH)SelectObject(memDC2,hRandBrush); hOldPen = (HPEN)SelectObject(memDC2,hRandPen); Rectangle(memDC2,0,0,30,500); //left0 Rectangle(memDC2,955,0,985,500);//right1 Rectangle(memDC2,0,0,985,30);//top2 其他图形省略 BitBlt(hdc,0,0,cxClient,cyClient,memDC2,0,0,SRCCOPY); SelectObject(memDC,hBit3); BitBlt(memDC3,x,y,54,75,memDC,0,0,SRCPAINT);//或 SelectObject(memDC,hBit2); BitBlt(memDC3,x,y,54,75,memDC,0,0,SRCAND);//与 BitBlt(hdc,x,y,54,75,memDC3,0,0,SRCCOPY); DeleteDC(memDC2); /* free the memory context */ DeleteDC(memDC); DeleteDC(memDC3); // TODO: 在此添加任意绘图代码... EndPaint(hWnd, &ps); break; 重绘这个动作是由你在事件中通知的,因此invalidaterect时计算兔子的绘制区域,以及兔子下一个动作的区域,重绘这两个小方格组成的矩形区域即可避免全部重绘。 检查一下是不是GDI资源有泄露 hRandBrush ,hRandPen 都没有释放。也没有把hOldBrush 再选回去 ATL生成的DLL移植问题 ATL写的ActiveX控件,在CRichEditCtrl容器里怎样控制ActiveX大小? 怎样得到COM监控程序发现的改变后的字符串? 查询 怎么使程序总在最前?? 如何改变对话框中控件的TAB STOP 次序?? 很急的问题,如何能将“位段” 数据类型转换成 int 型的??? 能否给个试图切换的代码 怎样使用RegSaveKey() 有关 CreateProcess ? vc里面的一些字符串转化的问题 用CopyData时为什么点击按钮每次发送正常,换了在定时器中自动发送就会在正确信息后出现乱码?
case WM_PAINT:
RECT rect;
GetClientRect(hWnd,&rect);
cxClient=rect.right;
cyClient=rect.bottom; hdc = BeginPaint(hWnd, &ps); memDC = CreateCompatibleDC(hdc);
memDC2 = CreateCompatibleDC(hdc); /* create compatible DC */
memDC3 = CreateCompatibleDC(hdc);
SelectObject(memDC2,hBit1);
BitBlt(memDC3,0,0,1100,510,memDC2,0,0,SRCCOPY); /* display image */
hRandBrush = CreateSolidBrush(RGB(22,139,235));
hRandPen = CreatePen(PS_SOLID,1,RGB(22,139,235));
hOldBrush = (HBRUSH)SelectObject(memDC2,hRandBrush);
hOldPen = (HPEN)SelectObject(memDC2,hRandPen);
Rectangle(memDC2,0,0,30,500); //left0
Rectangle(memDC2,955,0,985,500);//right1
Rectangle(memDC2,0,0,985,30);//top2
其他图形省略
BitBlt(hdc,0,0,cxClient,cyClient,memDC2,0,0,SRCCOPY); SelectObject(memDC,hBit3);
BitBlt(memDC3,x,y,54,75,memDC,0,0,SRCPAINT);//或
SelectObject(memDC,hBit2);
BitBlt(memDC3,x,y,54,75,memDC,0,0,SRCAND);//与
BitBlt(hdc,x,y,54,75,memDC3,0,0,SRCCOPY); DeleteDC(memDC2); /* free the memory context */
DeleteDC(memDC);
DeleteDC(memDC3);
// TODO: 在此添加任意绘图代码...
EndPaint(hWnd, &ps);
break;