mschart控件如何使鼠标移动到数据标记上时显示相应的内容

 我来答
清心还轻盈的小活宝4849
推荐于2016-05-19 · TA获得超过274个赞
知道答主
回答量:126
采纳率:100%
帮助的人:73.9万
展开全部
在MouseMove事件中可以得到鼠标的位置,再用TwipsToChartPart方法就可以知道当前位置对应的是Chart的哪个部分。不过,这个方法的使用不太方便。你可以使用下面的代码:PrivateSub MSChart1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim whichPart As Integer, whichSeries As Integer Dim whichNumber As Integer MSChart1.TwipsToChartPart X, Y, whichPart, whichSeries, whichNumber, 0, 0 Debug.Print whichPart, whichSeries, whichNumberEndSub 你可以在某条曲线上点一下,这时整条曲线被选中,上面的代码输出的whichPart值为VtChPartTypeSeries(5),表示一个序列被选中了,whichSeries表示序列号。如果你在这条选中的曲线的不是节点的某个位置上点一下,这时某个节点被选中,上面的代码输出的whichPart值为VtChPartTypePoint(7),whichNumber表示是序列中的哪个点,你就可以利用这些信息知道用户选择了哪个数据。但是MSChart的这种方式对用户不是很方便。 要在窗体上加一个TextBox控件,设置visible属性为false另外 mschart1.DoSetCursor= falsePrivateSub MSChart1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim whichPart As Integer, whichSeries As Integer Dim whichNumber As Integer MSChart1.TwipsToChartPart X, Y, whichPart, whichSeries, whichNumber, 0, 0 MSChart1.AllowSeriesSelection = False If whichPart < 7 Or whichSeries < 1 Then Text1.Visible = FalseElse Text1.Top = Y + MSChart1.Top + 300 Text1.Left = X + MSChart1.Left + 200 Text1.Text = str(whichPart) & Chr(13) & Chr(10) & str(whichSeries) & Chr(13) & Chr(10) &
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式