更新时间:2015-12-28 10:55:34浏览次数:1+次
下面是我们的矩形击中图模型:
【左边上边和矩形内部才算是矩形真正的占用范围】
BOOL PtInRect(CONST RECT *lprc,POINT pt);
函数第一个参数为RECT结构体的常量指针,表示目标的矩形结构体指针,设置为常量表示不能修改这个结构体的值。第二个参数为POINT点结构体的变量。函数就会执行检测,检测范围就和上面所讲那样。如果点的坐标在矩形范围内,则返回非零,否则返回零。因为会用到不同的用途,所以矩形所用的坐标是逻辑坐标。不过我们用的MM_TEXT坐标映射模式,也就是默认的坐标映射模式,逻辑坐标和设备坐标一致,所以无需考虑这个问题。
下面是PtInRect使用的代码样子:
RECT rect;
GetClinetRect(&rect);//获取客户区矩形大小
POINT pt;
pt.x = GET_X_LPARAM(lParam);//获取鼠标单击的光标的x坐标
pt.y = GET_Y_LPARAM(lParam);//获取鼠标单击的光标的y坐标
if(PtInRect(&rect,pt))
{
//点在矩形内
}
else
{
//点不在矩形内
}
相关资讯