怎样画一个矩形并填充颜色???我很菜的

解决方案 »

  1.   

    pDC->Rectangle(CRect(m_BeginSelectPoint,m_EndSelectPoint));
      

  2.   

    HDC dc = ::GetDC(GetSafeHwnd());
    LOGBRUSH logbr;
    memset(&logbr , 0 , sizeof(LOGBRUSH));
    logbr.lbColor = RGB(58,110,165);
    logbr.lbStyle = BS_SOLID;
    HBRUSH hBrush = CreateBrushIndirect(&logbr);
    HBRUSH oldbr = (HBRUSH)SelectObject(dc , hBrush);
             RECT rt = {10,10,100,100};
    FillRect(dc , &rt , hBrush);
             SelectObject(dc , oldbr);
             DeleteObject(hBrush);
             ReleaseDC( GetSafeHwnd() , dc);
      

  3.   

    CDC *pDC = GetDC();
    pDC->SelectObject(CreateSolidBrush(0xff)); // 填充为红色
    pDC->Rectangle(5, 5, 50, 50); // 按照指定的矩形做图
    ReleaseDC(pDC);
      

  4.   

    CDC *pDC =GetDC();CRgn Rgn;
    Rgn.CreatePolygonRgn(points,m_EdgePoints.GetSize(),WINDING);pDC->Polyline(points,m_EdgePoints.GetSize());
    pDC->FillRgn(&Rgn,&brush);其中的points 是一个数组,存储你要画的矩形或多边形的各个点的值,
    m_EdgePoints是CArray类型的储存的也是矩形或多边形的各个点的值,实际
    points和m_EdgePoints里面存储的是相同的值