阅读:2435回复:7
legend问题,请教高手
<P>我的地图图层 有30个,我在界面上放了LEGEND,高度只能显示10个,LEGEND上有个向上,向下,但是没次点击的时候,要吗就向上显示前面10个图层,要么向下显示最后面的10个图层,</P>
<P>想请教各位,怎么控制他,点击的时候能让我控制他,显示中间的10个图层 ,就象我们点击IE浏览器右边的滚动条一样</P> |
|
1楼#
发布于:2005-03-04 17:17
没得法啦!除非不用MO自身的legend
|
|
|
2楼#
发布于:2005-03-06 09:22
<P>该控件有源码的,自己修改一下,就行了。</P>
|
|
3楼#
发布于:2005-03-10 01:28
拜托
我也好想知道喔。怎样才不会按一下箭头就跑到最上面or最下面,修改源码,要怎么修,拜托,请教教我!谢谢 |
|
4楼#
发布于:2005-03-10 20:53
<P>Private Sub Scroll(gap As Long)
Dim i As Long Do While f_StartScrolling 'make some checking If gap < 0 Then If Abs(picScrollWindow.Top) >= picScrollWindow.Height - ScaleHeight Then GoTo EXIT_Scroll Else If picScrollWindow.Top >= 0 Then picScrollWindow.Top = 0 GoTo EXIT_Scroll End If End If picScrollWindow.Top = picScrollWindow.Top + gap 'vsbScrollWindow f_lngScrollTop = picScrollWindow.Top picScrollWindow.Refresh</P><P> setScrollBarVisible 'force the scroll to delay For i = 0 To 100000 Next DoEvents Loop EXIT_Scroll: f_StartScrolling = False End Sub</P><P>问题出在这个函数上,它做了循环所以会到头。</P><P>如果修改为</P><P>Private Sub Scroll(gap As Long) Dim i As Long ’Do While f_StartScrolling 'make some checking If gap < 0 Then If Abs(picScrollWindow.Top) >= picScrollWindow.Height - ScaleHeight Then GoTo EXIT_Scroll Else If picScrollWindow.Top >= 0 Then picScrollWindow.Top = 0 GoTo EXIT_Scroll End If End If picScrollWindow.Top = picScrollWindow.Top + gap 'vsbScrollWindow f_lngScrollTop = picScrollWindow.Top picScrollWindow.Refresh</P><P> setScrollBarVisible 'force the scroll to delay For i = 0 To 100000 Next DoEvents ’ Loop EXIT_Scroll: f_StartScrolling = False End Sub</P><P>效果会好些,但移动的位置不是正好一个图层,具体怎么改好,我没仔细研究,仅供参考.</P> |
|
5楼#
发布于:2005-03-11 15:10
楼上说的对,支持一下!
|
|
|
6楼#
发布于:2006-03-19 21:00
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
7楼#
发布于:2006-03-22 10:29
<P>用VC#不能显示图层的名称,怎么办?</P>
<P>还有,是不是在.NET的环境下还有更多的问题啊!!!!!!!!!</P> |
|
|