`
nathan09
  • 浏览: 145666 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

判断点在矩形内!!(MFC)

 
阅读更多
/**//*
CRect::PtInRect

DetermineswhetherthespecifiedpointlieswithinCRect.
*/


BOOLPtInRect(
POINTpoint
)
constthrow();

/**//*
Parameters
point
ContainsaPOINTstructureorCPointobject.

ReturnValue

NonzeroifthepointlieswithinCRect;otherwise0.

Remarks

ApointiswithinCRectifitliesontheleftortopsideoriswithinallfoursides.ApointontherightorbottomsideisoutsideCRect.

Note
Therectanglemustbenormalizedorthisfunctionmayfail.YoucancallNormalizeRecttonormalizetherectanglebeforecallingthisfunction.


Example
*/


CRectrect(
5,5,100,100);
CPointpt1(
35,50);
CPointpt2(
125,298);

//thisistrue,becausept1isinsidetherectangle
ASSERT(rect.PtInRect(pt1));

//thisisNOTtrue,becausept2isoutsidetherectangle
ASSERT(!rect.PtInRect(pt2));

//notethattherightandthebottomaren'tinside
ASSERT(!rect.PtInRect(CPoint(35,100)));
ASSERT(
!rect.PtInRect(CPoint(100,98)));

//butthetopandthe
ASSERT(rect.PtInRect(CPoint(5,65)));
ASSERT(rect.PtInRect(CPoint(
88,5)));

//andthatPtInRect()worksagainstaPOINT,too
POINTpt;
pt.x
=35;
pt.y
=50;
ASSERT(rect.PtInRect(pt));
/*
SeeAlso

Reference
CRectClass
HierarchyChart
CRect::NormalizeRect
PtInRect

OtherResources
CRectMembers
*/
分享到:
评论

相关推荐

    C++ MFC实现飞机大战游戏

    在MFC的API函数中使用SetTimer()函数设置定时器,设置系统间隔时间,在OnTimer()函数中实现响应定时器的程序。 2.2 透明贴图实现技术  绘制透明位图的关键就是创建一个“掩码”位图(mask bitmap),这个“掩码”位图...

    mfc 画图板 程序文档

    3.4.1. 判断一点是否属于矩形HStrokeRect 7 3.4.2. 判断一点是否属于线段 8 3.4.3. 判断一点是否属于椭圆 8 3.5. 文档序列化 9 3.6. 打开保存导出 10 3.7. 友好用户界面 13 3.8. 右键菜单修改选中图形的属性 14 3.9....

    利用MFC编写五子棋程序

    //x1,y1为椭圆范围内矩形的左上角坐标,x2,y2为椭圆范围内矩形的右下角坐标 posinfo[posflag].x=nx; posinfo[posflag].y=ny; posinfo[posflag].flag=m_turn; posflag++;} else { CBrush *...

    判断线段相交和求交点

    由于项目需要,写了两个函数,IsLineSegmentCross和GetCrossPoint,对于各种情况都能很好适应,并正确的求出交点。通过了各种测试,完美的实现个算法真不容易啊! 这个是连带一个MFC测试的程序工程VC6.0源码!

    MFC常用的类及其成员函数简介

    在CRuntimeClass结构中定义了类名、对象所占存储空间的大小、类的版本号等成员变量及动态创建对象、派生关系判断等成员函数。每一个从CObject类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时得到...

    VC++常用功能实例

    ◆如何在程序判断出debug状态◆ 27 ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆...

    类似画图板的小程序-windows

    首先在资源文件中增加需要的光标资源,然后在视图的OnSetCursor消息函数中调用SetCursor函数来设置光标样式就可以了,注意要判断HitTest参数是否为HTCLIENT,不然的话鼠标移到了滚动条上的时候光标还是画笔的样式就...

    VC++常用的共用函数100多页

    ◆如何在程序判断出debug状态◆ 27 ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆...

    Visual C++编程技巧精选集 光盘

    171.如何将光标限制在指定范围内 172.如何获取光标当前的活动范围 173.如何获取系统默认的图标大小 174.如何获取可执行文件中的图标 175.如何提取动态链接库中的图标 176.如何提取图标文件中的图标 177.如何以发送...

    皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程

    DSkinLite界面库API及XML配置语法简单,开发人员一般可以在2-3天内熟悉使用方法。DSkinLite界面库API共20个左右,常 用API函数应该在5左右。同时DSkinLite采用C++编写,专为Visual Studio开发者设计,开发者可以很...

Global site tag (gtag.js) - Google Analytics