点某个圆,它的填充色改为随机的颜色?

解决方案 »

  1.   

    对于背景画刷的RBG值让其变为随机的。
    如:
    RGB(I,J,M);//I,J,M为随机数(0~255)
      

  2.   

    可以看看这篇文章:(是 WinZip用压缩的)
    http://www.soft168.com/download/download1.asp?downid=1&id=1180
      

  3.   

    BYTE bRed=rand()%256;
    BYTE bGreen=rand()%256;
    BYTE bBlue=rand()%256;COLORREF crColor=RGB(bRed,bGreen,bBlue);
    HBRUSH hBrush=CreateSolidBrush(crColor);
    hBrush=(HBRUSH)SelectObject(hdc,hBrush);Ellipse(hdc,left,top,right,bottom);hBrush=(HBRUSH)SelectObject(hdc,hBrush);
    DeleteObject(hBrush);
      

  4.   

    void CMy99062238View::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    CClientDC dc(this);
    CRgn m_EllipseRgn;
    BYTE bRed=rand()%256;
                      BYTE bGreen=rand()%256;
                      BYTE bBlue=rand()%256;
                     COLORREF crColor=RGB(bRed,bGreen,bBlue);
    dc.ExtFloodFill(point.x,point.y,crColor,FLOODFILLSURFACE);
    CView::OnLButtonDown(nFlags, point);
    }我是这么写的,为什么不行呢?
      

  5.   

    http://www.soft168.com/download/download1.asp?downid=1&id=1180
      

  6.   

    void CMy99062238View::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    CClientDC dc(this);
    CRgn m_EllipseRgn;
             CRgn m_Ellipse;//创建以及圆形区域,
             m_Ellipse.CreateEllipticRgn(Ellipse);//Ellipse是你先前画的圆形区域
         if(m_Ellipse.PtInRegion(point))//如果点的这个点在圆形区域内,那么改变它的颜色
         {
    brush=new CBrush((RGB(0,0,255)));
    dc.SelectObject(brush);
                       dc.Ellipse(Ellipse);//重画刚才的图形     }
    CView::OnLButtonDown(nFlags, point);
    }要随机色,把你那段代码加进去就好了