求助:如何响应图形

ship 2000-03-09 05:28:00
我正在编写电子地图方面的程序,对于如何在显示的图形中加入事件或消息。
象某些程序绘的图案或线条,鼠标经过上面就有所反应。

请教各位高手指点一二。
...全文
202 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
茂奇软件 2000-07-06
  • 打赏
  • 举报
回复
use display list callback mode.
jansen zhu. (an opengl fan)
sealbox 2000-03-11
  • 打赏
  • 举报
回复
GoldenLion及Sniper兄分析的很正确。
如果采用矩形区域,实现方法恐怕还需改进,应该考虑建立空间索引,以防止数据量太大时速度大幅度降低。
另外,昨天做了一个试验,想看看能够创建多少个窗口,结果在什么都没有运行的情况下共能创建16000多个窗口。想请教一下Windows的各种资源限制,哪位兄弟能够详细讲解一下?谢谢!
Sniper 2000-03-10
  • 打赏
  • 举报
回复
sealbox兄所说的创建窗口的不足之处GoldenLion已经提了一点。还有一点,由于地图上的敏感区形状比较复杂,用窗口方式许多形状描述起来很痛苦。另一方面,用窗口实现时,实际上运算的开销仍存在,只不过向系统完成就是了。
在我提出的方案中,我只说了一个矩形,实际上可以实现一个基类CBase,包含判断鼠标位置在不在本敏感区进行判断等虚函数。然后由CBase导出各种敏感区的实现类,重载基类中的虚函数,比如矩形、椭圆、圆等,实现线段时比较麻烦,但原理是一样的,只是判断的算法不同。如果你有足够的耐心和时间,你也可以实现多边形等非规则的敏感区。接着实现一个CBase对象的链表。在鼠标移动时用坐标为参数调用相应方法就搞定了。
ship 2000-03-10
  • 打赏
  • 举报
回复
感谢各位的关注:每人先入帐some 分
Sniper的方法简单易行,却会影响很关键的速度,
而且如果是像NetXray那样用线条表征链接和流量,
一旦鼠标经过直线便响应相关信息,颇为理想,
不知道哪位高手知道其实现细节?

请赐教!
xinyue 2000-03-10
  • 打赏
  • 举报
回复
Sniper和 GoldenLion兄的方法一样,其实我也同意这么做
minotaurking 2000-03-10
  • 打赏
  • 举报
回复
关注
GoldenLion 2000-03-09
  • 打赏
  • 举报
回复
判断鼠标坐标的方法比较好,有很多多媒体的播放软件界面就是这么做的。如果图形复杂,创建窗口的系统开销要比判断鼠标位置大的多,引起屏幕闪烁,而且系统GUI资源有限。
sealbox 2000-03-09
  • 打赏
  • 举报
回复
可能在敏感区创建窗口会更好些,如果图形过于复杂,Sniper兄的方法运行速度可能会降低很多。个人看法,欢迎讨论。
Sniper 2000-03-09
  • 打赏
  • 举报
回复
我正好刚作了一个类似的程序。如果你不用地理图形系统的话,可以这样作:
1.把你的地图显示出来;
2.在地图上的敏感区域标注若干矩形,记下矩形的数据;
3.当用户移动鼠标时,判断鼠标坐标在不在上述某个矩形中,如果是的则进行响应。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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