我用VC6建的WIN32APPLICATION应用程序,用WINDOWS SDK建了一个窗体,并设置窗体背景颜色 wc.hbrBackground=CreateSolidBrush(RGB(255,0,0));红色
可以我在窗体里面画一个矩形或输出文字时
Rectangle(hdc,10,20,40,100);
DrawText(hdc,TEXT("VC SDK"),strlen("VC SDK"),&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
背景仍为白色,怎么设置为红色?
注意:这个不是MFC应用程序。

解决方案 »

  1.   

    SetBkColor(hdc,RGB(0,255,0));是设置背景的
      

  2.   


      CClientDC dc(this);  COLORREF OldColor,NewColor=RGB(255,0,0);
      COLORREF OldBkColor,NewBkColor=RGB(0,255,255);
      int OldBkMode;
      OldColor=dc.SetTextColor (NewColor);
      OldBkColor=dc.SetBkColor (NewBkColor);
      OldBkMode=dc.SetBkMode (OPAQUE);
      dc.TextOut (10,10,"使用TextOut输出");
      

  3.   

    帅哥,你这个只能设置TextOut里的背景色啊,不能设置Rectangle的背景色,呵呵.
      

  4.   

    1.多看MSDN。Rectangle使用当前画笔绘制,矩形内部区域使用当前画刷填充。如果你想控制Rectangle的边框与内部填充,必须在DC中选入一个特定的画笔和画刷。
    2.DrawText使用当前文本色,背景色,背景模式,当然选入的字体来绘制文本。
    GDI中,线条使用当前画笔,填充使用当前画刷,文本使用当前字体+文本色+背景色+背景模式
      

  5.   

    嗯 是啊
    www.xizi123.cn
      

  6.   

    7楼说的对:
    {
    CPen pen(PS_SOLID,1,RGB(255,0,0));
    CPen* pOldPen=pDC->SelectObject(&pen);
    CBrush* pOldBrush=pDC->SelectObject(CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH))); pDC->Rectangle(&CRect(m_RectArea[i])); pDC->SelectObject(pOldBrush);
    pDC->SelectObject(pOldPen);
    }