首页
社区
课程
招聘
[求助]StretchBlt在Dialog上显示图片出现无法多次显示的问题
发表于: 2013-12-16 23:14 3684

[求助]StretchBlt在Dialog上显示图片出现无法多次显示的问题

2013-12-16 23:14
3684
使用下面的函数进行Dialog上显示BMP图片,是一个循环内重复调用4次,分别在不同的位置显示4个不同的图片,但是很郁闷的是只有第一个图片能显示出来,其它三个都没显示.请各位帮看看.
 
bool MyDrawBitmap(HWND hWnd,char * filename,int x,int y)
{
 HBITMAP MyBitmap,OldBitmap;
 HDC hdc;
 HDC mdc;
 PAINTSTRUCT ps;
 BITMAP bit;
 int bx,by;
 hdc=BeginPaint(hWnd,&ps);
 mdc=CreateCompatibleDC(NULL);
 MyBitmap=(HBITMAP)LoadImageA(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
 OldBitmap=(HBITMAP)SelectObject(mdc,MyBitmap);
 GetObject(MyBitmap,sizeof(BITMAP),&bit);
 bx=bit.bmWidth;
 by=bit.bmHeight;
 StretchBlt(hdc,x,y,bx,by,mdc,0,0,bx,by,SRCCOPY);
 SelectObject(mdc,OldBitmap);
 DeleteObject(MyBitmap);
 DeleteDC(mdc);
 EndPaint(hWnd,&ps);
 return true;
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//