多边形窗口

原创 2001年01月21日 14:52:00

多边形窗口

闻怡洋

当你看腻了矩形窗口后,你想不想改变你窗口的形状呢?你需要做的很简单。

产生一个CRgn对象,并调用int CWnd::SetWindowRgn( HRGN hRgn, BOOL bRedraw );

下面将讲述具体方法:

在窗口的OnCreate中(窗口必须为WS_POPUP风格,其它的我没有试过)下面的代码将创建一个三角形的窗口。

int ctW::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CWnd::OnCreate(lpCreateStruct) == -1)
        return -1;
    POINT pt[3];
    pt[0].x=100;
    pt[0].y=20;
    pt[1].x=0;
    pt[1].y=150;
    pt[2].x=180;
    pt[2].y=150;

    m_rgn.CreatePolygonRgn(pt,3,WINDING);
    SetWindowRgn(m_rgn,1);
   
    // TODO: Add your specialized creation code here
   
    return 0;
}

CWnd::GetWindowRgn(...)将通过返回值告诉你该多边形是否为一个单独的矩形。
请注意该RGN坐标是以原来窗口的矩形为零点坐标的而不是以屏幕坐标为零点坐标。你可以利用CRgn::CombineRgn(...)将多个RGN并起了形成自己所需要的形状。

 

计算机图形学 - 多边形裁剪算法

Sutherland Hodgman裁剪算法
  • xdg_blog
  • xdg_blog
  • 2016年10月19日 23:29
  • 3346

多边形裁剪一:Sutherland-Hodgman算法

Sutherland-Hodgman算法          Sutherland-Hodgman算法也叫逐边裁剪法,该算法是萨瑟兰德(I.E.Sutherland)和霍德曼(Hodgman)在197...
  • yangxi_001
  • yangxi_001
  • 2014年07月13日 13:23
  • 1311

【寒江雪】凸多边形矩形裁切算法

最近都在准备着考试,没有写博客,今天忙里偷闲,写点关于裁切算法的文字。 这次要干的事情是给定一个凸多边形的点描述和矩形的点描述,按着矩形来对多边形区域进行裁切。 大概如下图所示: ...
  • lkysyzxz
  • lkysyzxz
  • 2016年11月17日 00:14
  • 358

MFC异形窗口-多边形窗口-根据图片自定义窗口形状-CRgn

Windows中所有窗口显示默认为矩形,很多时候我们希望窗口的形状可以随意变化。这个时候我们就需要使用MFC的CRgn类, 每一个窗口都有一个自己的CRgn,定义了当前窗口的显示区域,CRgn就好像...
  • xukaiwen_2016
  • xukaiwen_2016
  • 2016年08月05日 17:07
  • 2492

判断点是否在多边形内(包括在多边形上)的一个算法

/** 检查某点是否包含在多边形的范围内(只用与判断在多边形内部,不包含点在多边形边上的情况)~ */ - (BOOL) checkPointWithinPolygon:(PolyVerticesWr...
  • daonidedie
  • daonidedie
  • 2014年12月03日 09:10
  • 1697

Opencv学习之使用多边形将轮廓包围

Opencv学习之使用多边形将轮廓包围 由于在实际应用中,常常会有将检测到的轮廓用多边形表示出来的需求。返回外部矩形边界-boundingRect函数此函数计算并返回指定点集最外面(up-r...
  • qq_31531635
  • qq_31531635
  • 2017年06月24日 01:24
  • 1057

多边形扩展算法

多边形扩展算法,c++实现
  • leon_zeng0
  • leon_zeng0
  • 2017年06月20日 16:35
  • 1053

地图上点与多边形的关系判断

地理位置关系判断
  • u010367582
  • u010367582
  • 2016年07月08日 17:07
  • 1108

关于指定的经纬度是否落在多边形内

这个想法就是判断一个点向左的射线跟一个多边形的交叉点有几个,如果结果为奇数的话那么说明这个点落在多边形中,反之则不在。直接贴代码吧 A: B: C: D: package com....
  • qq_22929803
  • qq_22929803
  • 2015年07月09日 15:55
  • 1978

POJ 3449 Geometric Shapes(判断多边形相交情况)

POJ 3449 Geometric Shapes(判断多边形相交情况) http://poj.org/problem?id=3449 题意:        给你n个多边形,这些多边形包括线段,...
  • u013480600
  • u013480600
  • 2014年09月27日 15:05
  • 1507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多边形窗口
举报原因:
原因补充:

(最多只允许输入30个字)