先创建一个封闭的多边形区域
CRgn rgn;
rgn.CreatePolygonRgn(m_points, m_nPoints, ALTERNATE)再用rgn.PtInRegion(point)来判断指针是否在该区域中

解决方案 »

  1.   

    BOOL CreatePolygonRgn(
       LPPOINT lpPoints,
       int nCount,
       int nMode 
    );第一个参数为多边形顶点CPoint数组,第二个参数表示多边形顶点的个数,第三个参数为制定区域填充模式
    CPoint ptVertex[5];ptVertex[0].x = 180;
    ptVertex[0].y = 80;
    ptVertex[1].x = 100;
    ptVertex[1].y = 160;
    ptVertex[2].x = 120;
    ptVertex[2].y = 260;
    ptVertex[3].x = 240;
    ptVertex[3].y = 260;
    ptVertex[4].x = 260;
    ptVertex[4].y = 160;VERIFY(rgnA.CreatePolygonRgn( ptVertex, 5, ALTERNATE));
      

  2.   

    这是VC的解决方法,C#中也应该有对应的函数
      

  3.   

    byry(pepsi) 大侠,C#中也应该没有对应的函数啊!
      

  4.   

    编程模式中的变化  [C#]
    构造区域
    GDI 提供几种用于创建区域的函数:CreateRectRgn、CreateEllpticRgn、CreateRoundRectRgn、CreatePolygonRgn 和 CreatePolyPolygonRgn。您或许希望 GDI+ 中的 Region 类也有类似的构造函数,将矩形、椭圆、圆角矩形和多边形作为参数接收,但事实并非如此。GDI+ 中的 Region 类提供一个接收 Rectangle 对象的构造函数和另一个接收 GraphicsPath 对象的构造函数。如果您想基于椭圆、圆角矩形或多边形构造区域,可以通过创建一个 GraphicsPath 对象(例如包含椭圆的对象),然后将其传递至 Region 构造函数来轻松实现。
      

  5.   


    点在线上我大概已经解决,C#的GDI+怎么创建一个封闭区域?如何
    判断鼠标的点是否在一个封闭区域上呢?大家是否有办法???
      

  6.   

    Graphics类中有一个方法有画路径的
    用Contains,如Rectangle.contains