我用Polygon画了一个五边形,请问高手如何判断某一坐标是否在其中呢??
可以举一个例子么??
Cpoint a[5]={CPoint(100,100),CPoint(150,130),CPoint(200,180),
             CPoint(230,210),CPoint(280,260)};
pDC->Polygon(a,5);再问一下:
       如果要填充该五边形,又该如何作呢??

解决方案 »

  1.   

    void CNtDlg::OnLButtonDblClk(UINT nFlags, CPoint point) 
    { CPoint a[5]={CPoint(1,100),CPoint(150,130),CPoint(200,180),
                 CPoint(230,210),CPoint(280,260)};
        GetDC()->Polygon(a,5); 
    HRGN hrgn;
    hrgn=::CreatePolygonRgn(a,5,ALTERNATE);
    BOOL bIsIn=PtInRegion(hrgn,point.x,point.y);
    if(bIsIn)
    {
           MessageBox("");
        }


    CDialog::OnLButtonDblClk(nFlags, point);
    }
      

  2.   

    CRgn* pRgn=new CRgn;
    pRgn->CreatePolygonRgn(a,5,ALTERNATE);
    CBrush* pBrush=new CBrush;
    pBrush->CreateSolidBrush(0xff8800);
    GetDC()->FillRgn(pRgn,pBrush); delete pBrush;
    delete pRgn;