您的位置:程序门 -> vc/mfc -> 界面



用vc++做地图!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


用vc++做地图![已结贴,结贴人:cocolfg]
发表于:2008-02-27 21:58:06 楼主
想做一个校园导游系统,老师要求我们用c或c++实现。
要求能够实现一个点到另一点的所有通路和最短路径。
我的初步想法是用mfc做界面,想以学校的平面图为背景,然后在其上面做几个学校建筑物的不规则按钮,然后在他们之间的路径上再做几个不规则按钮(透明),当需要查询一个点到另一个点的路径时,就把路径上的按钮的背景色设为蓝色,其中最短路径为红色。
同时整个学校的背景图也要实现用鼠标拖放和大小缩放的功能。
可是在做的过程中遇到好多问题:
1、想把学校的平面图设为对话框的背景,可是又不能够用鼠标拖放和大小缩放?
用一个cpicture控件,设其位图为学校的背景图,可是不知如何在其上面放置其它控件?
2、再一个难题就是不规则按钮的设置,虽然网上这方面的资料不少,但真是做出自己想要的那种开关的按钮难度可太大了。
3、再就是当把一个透时按钮放在对话框上时,如何在响应另一个普通按钮的点击事件后背景色变为蓝色或红色?
…………………………
还有其它很多问题!
从网上找了好长时间好像没有用mfc做的地图界面。
是不是一开始我的思路就错了?
各位大虾有什么好的想法吗?
这是个实际的项目,请大家出出注意,谢谢!
发表于:2008-02-27 22:04:271楼 得分:20
1、想把学校的平面图设为对话框的背景,可是又不能够用鼠标拖放和大小缩放?  
用一个cpicture控件,设其位图为学校的背景图,可是不知如何在其上面放置其它控件?  
//响应鼠标的移动消息,在里面重绘,完成你要的功能

2、再一个难题就是不规则按钮的设置,虽然网上这方面的资料不少,但真是做出自己想要的那种开关的按钮难度可太大了。
//重载drawitem,响应各种鼠标消息,没什么难吧,例子一大堆
 
3、再就是当把一个透时按钮放在对话框上时,如何在响应另一个普通按钮的点击事件后背景色变为蓝色或红色?  
//这个就不知道你说的什么意思了,用postmessage试试

我做过mfc下地图相关的项目,一般是放在view里做,对话框不好吧
发表于:2008-02-27 22:23:432楼 得分:20
思路是有点问题,地图系统界面最好都是自己绘制的,而不是用什么按钮控件,你可以用mfc的单文档框架,不用文档/视图,然后把背景图绘制到视图上,最好做成矢量化的,缩放不会有失真,否则一放大就不好看了。对于矢量图来说,什么道路、建筑也很容易定义,至于寻路算法,就不是简单几句话可以说得了的了,我想这也正是你们老师要求你们掌握的东西。
发表于:2008-02-27 22:26:053楼 得分:10
一切从头的话,工作量太大了。可以针对mapx等进行二次开发。
发表于:2008-02-27 22:38:434楼 得分:10
同意楼上的,用mapx
发表于:2008-02-28 10:17:045楼 得分:10
lz说得gis方面的设计.同意ls说的用mapx二次开发.很简单.完全能够达到你的目的.或者用supermaper二次开发.
发表于:2008-02-28 10:21:076楼 得分:10
用mapx或者mapinfo之类的吧   开发gis类软件
发表于:2008-02-28 11:21:247楼 得分:0
好的,结贴给分了,谢谢四位!
发表于:2008-02-28 11:23:398楼 得分:0
呵,不是四位,还有另外两位热心人。
都给分了,谢谢各位!


快速检索

最新资讯
热门点击