这个函数的功能在msdn中是这样解释的:Copies a bitmap from the source device context to this current device context,翻译过来就是从源设备环境上拷贝一张位图到目前的设备环境中来。函数定义为: BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop ); X:代表目标矩形左上方的X坐标 Y:代表目标矩形左上方的Y坐标 nWidth:代表目标矩形的宽度 nHeight:代表目标矩形的高度 pSrcDC:代表源设备环境的一个引用 xSrc:代表从源位图拷贝时,源位图左上方拷贝的起始X坐标。 ySrc:代表从源位图拷贝时,源位图左上方拷贝的起始Y坐标。 dwRop :代表拷贝的方式。 你那个应该是从设备环境mdc上拷贝一张位图到当前的设备环境dc中,拷贝后的位图在当前设备环境中的左上方起始是(0,30),目标矩形宽480,高480,中间的两个0表示位图直接完全拷贝过来,并没有经过裁剪,WHITENESS表示使用与物理调色板中索引1有关的颜色填充目标矩形区域,起始这里的颜色应该就是白色了,意思是拷贝后用白色填充没有被位图覆盖的空白的区域。。 ------------
CDC m_dcMem;
CBitmap m_bmpMem;//可放到对话框头文件类定义中
为对话框添加WM_PAINT消息
void CETimeDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages
m_dcMem.CreateCompatibleDC(&dc);//创建兼容DC
CString filpath=L"";
filpath+="//NAND//sk//GPS界面主菜单-1.BMP/0"; //图片路径
m_bmpMem.m_hObject=SHLoadDIBitmap(filpath); //图片加载至m_bmpMem
//或者图片作为资源 m_bmpMem.LoadBitmapW(IDB_BITMAP1);
m_dcMem.SelectObject(&m_bmpMem);//位图选入兼容DC
dc.BitBlt(0,0,800,480,&m_dcMem,0,0,SRCCOPY);//兼容DC的位图贴到当前DC
}