我在一个矩形框里面选择了系统的灰色画刷填充,然后在这个区域内写入几个文字,文字的背景色就变成了视窗口的颜色(白色),请问怎么能让该区域全部是灰色,然后黑色文字在上面显示,谢谢。

解决方案 »

  1.   

    先定义文字的背景色
        COLORREF NewCol=RGB(200,200,200);   //定义颜色
        COLORREF OldCol;
        OldCol=pDC->GetBkColor();
        pDC->SetBkColor(NewCol);             //设置字体的背景色
    输出文字
        pDC->TextOut(x,y,"文字");
    恢复文字背景色
        pDC->SetBkColor(OldCol);
    这样文字的背景就变成你定义的颜色了
      

  2.   

    设置透明属性:pDC->SetBkMode(TRANSPARENT);
      

  3.   

    flyelf,你的方法比较简单,谢谢了。不过还有一个小问题就是这时候还能改变文字的颜色么,就是相当于背景色是选择的画刷颜色,前景的文字还能改变不同的颜色么。我试着改了一下,他始终都是黑色的,不变化。