请教难题,大侠请进!

guoan4488 2010-12-30 10:49:30
对我来说是难题哈:
1.定义CRect数组:CRect rc[34];
2.对数组进行赋值:
for (j=0;j<34;j++)
{
rc[j]=j*5;
}
3.判断鼠标是否在区域内:

for (j=0;j<34;j++)
{
if (rc[j].PtInRect(point))
{
::SetCursor(::LoadCursor(NULL,IDC_CROSS));
}
}
结果出错如下:
error C2040: 'rc' : 'class CRect [34]' differs in levels of indirection from 'class CRect';
error C2039: 'PtInRect' : is not a member of 'tagRECT';
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2010-12-31
  • 打赏
  • 举报
回复

CRect rc[34];
for(int i=0; i<sizeof(rc)/sizeof(rc[0]); i++)
{
rc[i].SetRect(CPoint(10, 10), CPoint(100, 100));
}
for(int i=0; i<sizeof(rc)/sizeof(rc[0]); i++)
{
if(rc[i].PtInRect(CPoint(20, 20)))
{
AfxMessageBox(_T("YES"));
}
}
guoan4488 2010-12-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wltg2001 的回复:]
rc[j]=j*5;
=======
这个肯定错啊,rc是CRect变量啊,而j*5是一个int变量,不可能赋给它的啊,在逻辑上也不对啊,CRect有int l, int t, int r, int b四个分量来描述的。
[/Quote]
这个地方我是这样赋值的:
for (j=0;j<34;j++)
{rc[j]=CRect(features_f[j].x-5,features_f[j].y-5,features_f[j].x+5,+features_f[j].y+5);
}
其中:features_f[]是一个CPoint类型的数组。
昨天为了描述的简洁一点,结果太大意,写错了。
guoan4488 2010-12-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 haigui_li 的回复:]
CRect是一个类,rc[j]=j*5;这个就错了,没有这样赋值的,要定义四个角点,left、right、top、bottom,才可以,
看一下msdn吧!
[/Quote]

这个地方我是这样赋值的:
for (j=0;j<34;j++)
{rc[j]=CRect(features_f[j].x-5,features_f[j].y-5,features_f[j].x+5,+features_f[j].y+5);
}
其中:features_f[]是一个CPoint类型的数组。
昨天为了描述的简洁一点,结果太大意,写错了。
wltg2001 2010-12-30
  • 打赏
  • 举报
回复
rc[j]=j*5;
=======
这个肯定错啊,rc是CRect变量啊,而j*5是一个int变量,不可能赋给它的啊,在逻辑上也不对啊,CRect有int l, int t, int r, int b四个分量来描述的。
  • 打赏
  • 举报
回复
CRect是一个类,rc[j]=j*5;这个就错了,没有这样赋值的,要定义四个角点,left、right、top、bottom,才可以,
看一下msdn吧!

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧