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));
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 Copies the source rectangle directly to the destination rectangle.
SRCCOPY 是直接拷贝的SetBkColor这玩样只针对写字的背景的
http://www.vckbase.com/index.php/wv/358.html
这里也说的很清楚了表示RGB颜色只用了24位,白色24位全是1,黑色24位全是0
SRCAND 是相与,数据(二进制里只有0或者1)与1相与,数据不变
SRCPAINT 是相或,数据(二进制里只有0或者1)与0相或,数据不变
http://www.vckbase.com/index.php/wv/358.html
这里也说的很清楚了很佩服楼主这么好学,不过其实楼主直接用系统提供的TransparentBlt就行了