这种方法是如何实现字体背景色与DC里的背景色实现颜色一致的//上面是SetBkColor不是设置的白色背景吗?

这种方法是怎么实现字体背景色与DC里的背景色实现颜色一致的//下面是SetBkColor不是设置的白色背景吗????


 memDC.SetBkColor(RGB(0,0,0));//这种方法是怎么实现字体背景色与DC里的背景色实现颜色一致的//下面是SetBkColor不是设置的白色背景吗????     
memDC.SetTextColor(RGB(255,255,255));    
 memDC.BitBlt(rcClient.left,rcClient.top,rcClient.Width(),rcClient.Height(),&maskDC,rcClient.left,rcClient.top,SRCAND);     
dc.SetBkColor(RGB(255,255,255));     
dc.SetTextColor(RGB(0,0,0)); 

------解决方案--------------------
源代码就是这样的吗?
------解决方案--------------------
关键是:"SRCAND" 而不是 SRCCOPY
------解决方案--------------------
SRCAND Combines the colors of the source and destination rectangles by using the Boolean AND operator. 
SRCAND 存在颜色即不拷贝

SRCCOPY  Copies the source rectangle directly to the destination rectangle. 
SRCCOPY  是直接拷贝的

SetBkColor这玩样只针对写字的背景的
------解决方案--------------------
SetBkColor和SetTextColor除了影响DrawText、TextOut等函数画出的文字背景外,另外一个作用就体现楼主问的这个问题上
http://www.vckbase.com/index.php/wv/358.html
这里也说的很清楚了

表示RGB颜色只用了24位,白色24位全是1,黑色24位全是0
SRCAND 是相与,数据(二进制里只有0或者1)与1相与,数据不变
SRCPAINT 是相或,数据(二进制里只有0或者1)与0相或,数据不变