今天让编程实现在客户区显示图像,可惜没弄好,其实也很简单,总结了一下,步骤如下。
1、首先在资源中创建位图,设为IDB_BITMAP!,如果不创建就要用函数从文件中读了。
2、然后建两个对象,CBitmap bt;BITMAP b;
并初始化 bt.LoadBitmapW(IDB_BITMAP1);bt.GetBitmap(&b);
3、接着创建兼容的设备上下文,CDC dc;
并选择位图对象
dc.CreateCompatibleDC(pDC);
dc.SelectObject(&bt);
4、最后显示图像pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
此时图像以原始大小尽量占据整个客户区,如果想全部沾满,需要将图像放缩成客户区大小,用下面语句,
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,b.bmWidth,b.bmHeight,SRCCOPY);