多边形也是一个GDI对象,同样遵守其他GDI对象的规则,只是通常都不将其选入DC中。在MFC中多边形有CRgn表示。多边形用来表示一个不同与矩形的区域,和矩形具有相似的操作。如:检测某点是否在内部,并操作等。此外还得到一个包含此多边形的最小矩形。下面介绍一下多边形类的成员函数:
CreateRectRgn 由矩形创建一个多边形
CreateEllipticRgn 由椭圆创建一个多边形
CreatePolygonRgn 创建一个有多个点围成的多边形
PtInRegion 某点是否在内部
CombineRgn 两个多边形相并
EqualRgn 两个多边形是否相等
在本节中讲演多边形的意义在于重新在窗口中作图时提高效率。因为引发窗口重绘的原因是某个区域失效,而失效的区域用多边形来表示。假设窗口大小为500*400当上方的另一个窗口从(0,0,10,10)移动到(20,20,30,30)这时(0,0,10,10)区域就失效了,而你只需要重绘这部分区域而不是所有区域,这样你程序的执行效率就会提高。
通过调用API函数int GetClipRgn( HDC hdc, HRGN hr...[ 查看全文 ]