地图热区该怎么做?

KissApple 2006-05-08 11:37:39
我现在已经实现了在地图上设置一个热区,使用了CreatePolygonRgn,DeleteObject,PtInRegion这三个API,设置热区可以记录热区名字和各个点的坐标,通过PtInRegion判断鼠标是否移动到热区上。
但是我需要在一张地图上设置多个热区,移动到热区并点击后可以进入下一级地图,下一级地图再设置热区,点击后进入三级地图。
问题是
1。设置的热区只有最后一个热区有效
2。在一级地图上设置的热区会在二级地图上显示出来
...全文
427 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
junki 2006-05-08
  • 打赏
  • 举报
回复
如果使用网页来做,会比较好实现.
把一个大的图形分成几个小图形.
迈克揉索芙特 2006-05-08
  • 打赏
  • 举报
回复
没做过,没什么概念。帮顶。
KissApple 2006-05-08
  • 打赏
  • 举报
回复
好了,自己搞定了
KissApple 2006-05-08
  • 打赏
  • 举报
回复
现在改了一下,可以从数据库中读取区域句柄了,但是还是最后设置的一个热区显示正常,可以有清晰的手型鼠标并且有文字可以正常显示出来,而前几个设置的热区,手型指针非常不清晰,一动就变成普通的鼠标了,而且也没有文字能显示出来
Private Sub P1_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
Dim sql As String
Dim rs As ADODB.Recordset
Dim jubing
If selectflag <> 1 Then

sql = "select * from a "
Set rs = gcn.Execute(sql)
While Not rs.EOF
RgnObject1 = rs!jubing
If PtInRegion(RgnObject1, x, y) = 1 Then
Label1.ForeColor = QBColor(12)
Label1.Caption = " 进入图形热点区!!"
p1.MouseIcon = LoadPicture(App.Path & "\hmove.cur")
p1.MousePointer = 99
ElseIf flag = 1 Then
Label1.ForeColor = 0
Label1.Caption = " 没有进入图形热点区!"
p1.MousePointer = 0
End If
rs.MoveNext
Wend

End If
End Sub
KissApple 2006-05-08
  • 打赏
  • 举报
回复
地图是未知的,区域也是未知的,客户运行程序后自己加载并设置的。
就好像省市区地图,不可能简单的用标志区别热区非热区
zhujing281 2006-05-08
  • 打赏
  • 举报
回复
你将图中有多少个区域就将数组中设有多少个元素,对其进行标志定位(0/1)。为0的是非热区,为1的是热区。
KissApple 2006-05-08
  • 打赏
  • 举报
回复
将热点用数组保存。用 PtInRegion 函数轮询所有热点的 hRgn。
---------------------------------------------------------------
我现在就是搞不太清楚怎么轮巡,我现在就是用的PtInRegion来判断鼠标是否在区域内
Private Sub P1_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
If PtInRegion(RgnObject, x, y) = 1 Then
Label1.ForeColor = QBColor(12)
Label1.Caption = " 进入图形热点区!!"
p1.MouseIcon = LoadPicture(App.Path & "\hmove.cur")
p1.MousePointer = 99
ElseIf flag = 1 Then
Label1.ForeColor = 0
Label1.Caption = " 没有进入图形热点区!"
p1.MousePointer = 0
End If
End Sub
RgnObject是区域句柄,数据库中有好几个区域,怎么才能让他判断呢?
of123 2006-05-08
  • 打赏
  • 举报
回复
1。设置的热区只有最后一个热区有效
将热点用数组保存。用 PtInRegion 函数轮询所有热点的 hRgn。

2。在一级地图上设置的热区会在二级地图上显示出来
分别用不同的 PictureBox 来显示。用 Visible 属性来控制显示哪一个。
556,delay1.zip 源码设计中的延时功能(1KB)557,type_1.zip 趣味打字2.1(233KB)558,test1.zip asp编写动态网页计数器(1KB)559,hztosm.zip 汉字转声母完全源代码(90KB)560,formatfloppy.zip 格式化软盘源代码(13KB)561,freespace.zip 获取磁盘剩余空间(3KB)562,setscreen 设置屏幕分辨率(7KB)563,snapwindow.zip 一个抓图的小程序(14KB)564,hotrgn.zip 热区的应用(6KB)565,getserial.zip 读出驱动器序列号,可以制作加密安装盘(2KB)566,opencdrom.zip 可以程序控制打开或关闭CDROM,非常方便(2KB)567,getusername.zip 自动读取用户登陆名称,再进行密码验证(2KB)568,gethostname.zip 读取机器名称(2KB)569,printpic.zip 解决图形打印的问题(50KB)570,g029_pcl.zip拼图游戏(56KB)571,g028_octopus.zip一个简单的掌上游戏机的游戏,这个游戏机的内容是要逃过大章鱼的捕捉(408KB)572,g027_menace.zip仓库世家-推箱子的游戏(114KB)573,g026_breKthru.zip弹珠台游戏(41KB)574,g025_zhq.zip一个能考考你的智慧的智慧棋(17KB)575,g024_vb-sol.zipVB 的扑克牌游戏的源码(15KB)576,g023_picgame.zip一个好玩的拼图游戏(25KB)577,g021_zm015看着超级玛莉不停的追赶着你的鼠标,是不是很有意思呢?(25KB)578,g020_zm019一个拼图游戏,可以自己指定图片进行游戏(12KB)579,g019_zm011一个网络五子棋的源程序(并有聊天功能)(41KB)580,g018_zm010.zip中国象棋的源程序,支持网络作战(23KB)581,g0173维的breaKthrough游戏(8KB)582,g016.zip小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等音乐格式文件(208KB)583,g015.zip旋转俄罗斯 1.0 demo 版的源程序,vb5 版存贮,稍加修改即适合于 vb4、vb3。里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB)584,g014.zipbreakthrough游戏(保持小球在屏幕上跳动)源程序(50KB)585,g013.zip3维迷宫游戏的源程序(40KB)586,g012.zip射击(导弹)游戏的源程序(5KB)587,g011.zip生命游戏源程序(12KB)588,g010.zip一个精灵游戏源程序(33KB)589,g009.zip翻转棋游戏(64子, 每子正反面分别为黑白两色, 两人对弈)的源程序(29)590,g008.zip纸牌游戏源程序(45KB)591,g007.zip太空船游戏例子源程序(48KB)592,g006.zip用白雪背面的俄罗斯方块(1.0版),自带EXE(224KB)593,g005.zip个人娱乐游戏,自带EXE(25KB)594,g004.zip个个人自娱乐的扑克牌游戏(57KB)595,g003.zip代表和平的娱乐游戏,自带EXE(12KB)596,g002.zip一个迷宫游戏,还有地图编辑器呢,完全源码(230KB)597,g001.zip模仿windows中的扫雷,自带EXE(38KB)
556,delay1.zip 源码设计中的延时功能(1KB)557,type_1.zip 趣味打字2.1(233KB)558,test1.zip asp编写动态网页计数器(1KB)559,hztosm.zip 汉字转声母完全源代码(90KB)560,formatfloppy.zip 格式化软盘源代码(13KB)561,freespace.zip 获取磁盘剩余空间(3KB)562,setscreen 设置屏幕分辨率(7KB)563,snapwindow.zip 一个抓图的小程序(14KB)564,hotrgn.zip 热区的应用(6KB)565,getserial.zip 读出驱动器序列号,可以制作加密安装盘(2KB)566,opencdrom.zip 可以程序控制打开或关闭CDROM,非常方便(2KB)567,getusername.zip 自动读取用户登陆名称,再进行密码验证(2KB)568,gethostname.zip 读取机器名称(2KB)569,printpic.zip 解决图形打印的问题(50KB)570,g029_pcl.zip拼图游戏(56KB)571,g028_octopus.zip一个简单的掌上游戏机的游戏,这个游戏机的内容是要逃过大章鱼的捕捉(408KB)572,g027_menace.zip仓库世家-推箱子的游戏(114KB)573,g026_breKthru.zip弹珠台游戏(41KB)574,g025_zhq.zip一个能考考你的智慧的智慧棋(17KB)575,g024_vb-sol.zipVB 的扑克牌游戏的源码(15KB)576,g023_picgame.zip一个好玩的拼图游戏(25KB)577,g021_zm015看着超级玛莉不停的追赶着你的鼠标,是不是很有意思呢?(25KB)578,g020_zm019一个拼图游戏,可以自己指定图片进行游戏(12KB)579,g019_zm011一个网络五子棋的源程序(并有聊天功能)(41KB)580,g018_zm010.zip中国象棋的源程序,支持网络作战(23KB)581,g0173维的breaKthrough游戏(8KB)582,g016.zip小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等音乐格式文件(208KB)583,g015.zip旋转俄罗斯 1.0 demo 版的源程序,vb5 版存贮,稍加修改即适合于 vb4、vb3。里面有用 vb 处理俄罗斯方块的核心内容及简单注释(8KB)584,g014.zipbreakthrough游戏(保持小球在屏幕上跳动)源程序(50KB)585,g013.zip3维迷宫游戏的源程序(40KB)586,g012.zip射击(导弹)游戏的源程序(5KB)587,g011.zip生命游戏源程序(12KB)588,g010.zip一个精灵游戏源程序(33KB)589,g009.zip翻转棋游戏(64子, 每子正反面分别为黑白两色, 两人对弈)的源程序(29)590,g008.zip纸牌游戏源程序(45KB)591,g007.zip太空船游戏例子源程序(48KB)592,g006.zip用白雪背面的俄罗斯方块(1.0版),自带EXE(224KB)593,g005.zip个人娱乐游戏,自带EXE(25KB)594,g004.zip个个人自娱乐的扑克牌游戏(57KB)595,g003.zip代表和平的娱乐游戏,自带EXE(12KB)596,g002.zip一个迷宫游戏,还有地图编辑器呢,完全源码(230KB)597,g001.zip模仿windows中的扫雷,自带EXE(38KB)

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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