&rdc换成dcNor 图像显示不正确!//createcompatibleDC与createcompatiblebit地图不能用同一个cdc初始化吗?

&rdc换成dcNor 图像显示不正确!//createcompatibleDC与createcompatiblebitmap不能用同一个cdc初始化吗???


CBitmap bmpBk;
BITMAP bmpSize;
bmpBk.LoadBitmap(lpszResourceName);
bmpBk.GetBitmap(&bmpSize);
CClientDC rdc(this);

CDC dcNor,dcHV;
CBitmap bmpNor,bmpHV,bmplast;

dcNor.CreateCompatibleDC(&rdc);
dcHV.CreateCompatibleDC(&rdc);

//&rdc换成dcNor 图像显示不正确!
bmpNor.CreateCompatibleBitmap(&rdc,bmpSize.bmWidth,bmpSize.bmHeight+20); 
bmpHV.CreateCompatibleBitmap(&rdc,m_nHV.right,m_nHV.bottom);
bmplast.CreateCompatibleBitmap(&rdc,bmpSize.bmWidth,bmpSize.bmHeight);

CBitmap* OldN = dcNor.SelectObject(&bmpNor); 
CBitmap* OldHV = dcHV. SelectObject(&bmpHV); 

------解决方案--------------------
CClientDC rdc(this);//这个 dc 是彩色的
CDC dcNor;
CBitmap bmpNor;
dcNor.CreateCompatibleDC(&rdc);// 这个只是产生一个内存 dc  
//&rdc换成dcNor 图像显示不正确!
bmpNor.CreateCompatibleBitmap(&rdc,bmpSize.bmWidth,bmpSize.bmHeight+20); 
// 用 rdc 这个bmp是 彩色的, 换成 dcNor ,bmp 就是 单色的
CBitmap* OldN = dcNor.SelectObject(&bmpNor);// 这是把一个 彩色 bmp 给了 dcNor 
// 应该清楚了吧