首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

鼠标点击区域的有关问题!

2012-03-14 
鼠标点击区域的问题!!我想做一个对话框上面有一个人体位图,点击人体不同的部位在这个对话框的另一边就显示

鼠标点击区域的问题!!
我想做一个对话框上面有一个人体位图,点击人体不同的部位在这个对话框的另一边就显示这个人体具体部位的位图图象,我用鼠标单击事件OnLButtonDown来做的.我现在能通过GetCursorPos(&point);来捕获鼠标坐标,但怎么确定点击位置矩形区域,然后怎么判断是否在那个区域内?请各位高人指点一下小弟!

[解决办法]
OnLButtonDown里面已经传入鼠标位置了,不需要自己获取坐标。
对于你这个需求来说,首先要把位图进行分区,然后根据分区数据创建一个区域Region,下面就可以用GDI的区域函数来判断点击的位置。
大致这样:
先处理位图,把需要区分出来的区域单独提取成一个一个位图,一个位图里把“活性区”涂成一种颜色,背景涂成一种颜色,比如黑色和白色,程序开始逐个读入这些位图,根据位图数据创建区域(网上一些创建异型窗口的代码中有这个函数),把这些区域添加到一个列表中,鼠标点击消息中,从当前点生成一个矩形,逐个判断是否在某个区域内:
CRect rc(point.x, point.y, point.x + 1, point.y + 1);
if (rgn.RectInRegion(&rc))
{
...调用相应区域的处理函数
}

热点排行