使用SetDIBits往窗口屏幕上画图
代码如下:
	HDC dc,memdc;
	HBITMAP memBmp;
           dc = GetDC(mainWindowHandle);
	memdc=CreateCompatibleDC(dc);
	memBmp=CreateCompatibleBitmap(dc,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
	SelectObject(memdc,memBmp);
	DWORD size=512*512; //每行像素位*图高
	BYTE* pBuf=new BYTE[size];
	BITMAPINFO binfo;
	ZeroMemory(&binfo,sizeof(BITMAPINFO));  
	binfo.bmiHeader.biBitCount=24;      //每个像素多少位,也可直接写24(RGB)或者32(RGBA)
	binfo.bmiHeader.biCompression=0;  
	binfo.bmiHeader.biHeight=512;  
	binfo.bmiHeader.biPlanes=1;  
	binfo.bmiHeader.biSizeImage=0;  
	binfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);  
	binfo.bmiHeader.biWidth=512;
	GetDIBits(memdc,memBmp,0,binfo.bmiHeader.biHeight,pBuf,(BITMAPINFO*)&binfo,DIB_RGB_COLORS);
	//逐点处理,这里是用来作淡出效果
	//这里是一个颜色分量8位,而不是一个像素
	for(int i=0;i<50000;i++)
	{
	   pBuf[i]=150;    
	}
	//全图处理完毕读出到屏幕dc显示
	SetDIBits(dc,memBmp,0,binfo.bmiHeader.biHeight,pBuf,(BITMAPINFO*)&binfo,DIB_RGB_COLORS);
结果什么都没画出来。。求高手赐教啊
------解决方案--------------------
应该到编程区提问