- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些水平直线,希望用户能够垂直拖动。这怎么可能?我认为线选择的最佳参数是线附近固定数量的像素。因此,如果鼠标为 +/- 2 像素,我应该更改鼠标光标并使线条可拖动。我看到 CurveItem 类具有属性 IsSelectable 和 IsSelected。这些对解决这个问题有什么作用吗?通过阅读类文档,我无法真正理解它们的用途。
编辑:
FindNearestPoint(和FindNearestObject)似乎只搜索实际点。我将如何选择沿着直线的整个部分工作?我想我需要制作自己的自定义“查找”例程,循环遍历我要检查的所有行,并且对于每个计算它都是基于鼠标 X 位置的假想 Y 点 (? )为此,我也在考虑倾斜线,对于水平/垂直线,它会稍微简单一些。至少这似乎是 curveItem 所需要的,但我认为选择 LineObj(在其中间部分)也必须这样做?
我实际上并不知道 LineObj 的存在。似乎 LineObj 无法更改 X2/Y2 坐标,因为它们是 ReadOnly。那么是否可以拖动 LineObj 的 X2/Y2 点?
编辑 2:
这似乎是 JapaneseCandleStick 图表上 FindNearestPoint 的问题;当我在图表 Pane 中单击时,它不会返回最近柱的索引,但我相信它会选择具有最接近 Y 值的索引,无论在 x 轴上有多远这是。有时它在鼠标右侧,有时在鼠标左侧。这是它的工作方式吗?
我自己制作了这个自定义函数,所以我想它没问题。不过,如果能理解为什么 FindNearestPoint 会以这种方式运行,那就太好了。
这是 mouseDown 的代码:
' Find nearest curve point:
Dim ciNearestCurve As CurveItem
Dim iNearestCurve As Integer
Dim b As Boolean = zgc.GraphPane.FindNearestPoint(mousePt, zgc.GraphPane.CurveList, ciNearestCurve, iNearestCurve)
If b Then
With ciNearestCurve(iNearestCurve)
Debug.Print(Date.FromOADate(.X) & " " & .Y & " " & .Z)
End With
最佳答案
在 dragging the points with mouse 上查看本教程.
如果您使用的是 LineObj
而不是曲线,请查看 FindNearestObject
方法。
此外,如果您想为点击创建一些“敏感区域”,this method应该可以帮助您将以像素为单位的鼠标坐标转换为 Pane 比例坐标。
主要思想是:
- 订阅 MouseDown
、MouseUp
和 MouseMove
事件
- 在 MouseDown
事件的处理程序中检查点击点是否靠近您要移动的曲线/图形对象
- 以与第一个链接示例中所示类似的方式进行更改
编辑
关于您的编辑:
假设您有一条包含两个点的水平曲线 myCurve
。使用 FindNearestPoint
您可以找到最近的点击点和包含该点的曲线。
所以你有:
// mousePt is where you clicked
CurveItem nearestCurve = null;
int nearestID = -1;
myPane.FindNearestPoint(mousePt, out nearestCurve, out nearestID);
if(nearestCurve!=null)
// remember the curve somewhere.
接下来处理 MouseMove
和 MouseUp
事件以确定您需要将曲线移动多少。您只需要知道 Y(或 Y2)方向的变化,因为曲线是水平的,您可能不想沿 X 轴移动它。
当您发现需要将曲线移动多少时 (dy
),只需执行以下操作:
for(int i=0; i<nearestCurve.Points.Count; i++)
nearestCurve.Points[i].Y += dy;
关于你的第二个问题,在 the documentation for LineObj.Location.Y2
你有:
Note that the Y2 position is stored internally as a Height offset from Y.
Width
/Height
属性可以很容易地设置,所以你可以这样做。
关于line - ZedGraph - 如何使水平线可拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3830209/
当前问题陈述的输入是 - 输入.txt #START_OF_TEST_CASES #DATA key1:VA1 key2:VA2 key3:VA3 key4:VA4 key5:VA5 #DEND #E
编辑:添加了 PDO 调用。 这是实际的错误: Notice: Object of class PDOStatement could not be converted to int in Unknow
“git diff --stat”和“git log --stat”显示如下输出: $ git diff -C --stat HEAD c9af3e6136e8aec1f79368c2a6164e56
我有一个具有以下格式的输入文件:安大略省:布兰普顿:北纬 43° 41':西经 79° 45'安大略省:多伦多:北纬 43° 39':西经 79° 23'魁北克省:蒙特利尔:北纬 45° 30':西经
空白行仅包含\n或\r\n或\r。 tempfile = open(file,"r") for id,line in enumerate(tempfile): if(line != "\n"
我尝试使用 BABYLON.js 开发棋盘游戏我有一个板子和一个 ArcRotateCamera。 我的灯是 HemisphericLight 当我在板上画线时,我希望这些线具有相同的外观。现在,当我
我尝试使用 BABYLON.js 开发棋盘游戏我有一个板子和一个 ArcRotateCamera。 我的灯是 HemisphericLight 当我在板上画线时,我希望这些线具有相同的外观。现在,当我
有一个while read循环: while read line; do grep "^$line" file1 done < target 我应该使用 "^$line" 来获得正确答案。我想
我有一个我无法解决的 numpy 问题。我有填充 0 和 1 的 3D 数组 (x,y,z)。例如,z 轴上的一个切片: array([[1, 0, 1, 0, 1, 1, 0, 0],
作为临时方法,我使用 .txt 文件来存储程序的某些变量。写入与 fs.appendFile 完美配合,但考虑到它的大小,使用 fs.readFile 读取不合适 - 我想得到某一行 来自文件,以及
我试图找到一种通过R studio进行调试的方法,但是我发现的所有解决方案都无法真正起作用。 1.)CTRL + enter:有效,但不会通过循环的每次迭代,而只能执行一次。 2.)添加“browse
在我的应用程序中,我的 EditText 左侧有行号 - 到目前为止一切都很好,行号与 EditText 的行完全对齐。 问题是,如果用户更改 EditText 的文本大小,则行号无法正确对齐。所以我
通过使用 + 的参数调用它,我可以使 vim 将光标定位在文件的最后一行。 : vi + myfile # "+" = go to last line of file 我怎样才能做到
我已经在文件中写入了这样的数据(某种) {:a 25 :b 28} {:a 2 :b 50} ... 我想要这些 map 的惰性序列。 大约有 4000 万行。我也可以写 10000 的 block
我在文本区域中发现了一个奇怪的错误(?)... 比如说,有一个 使用多行文本(用户粘贴的文本或预设文本无关紧要,两者都经过测试)。 我想从 中获取文本并替换 \n与其他东西......结果是,.re
我需要一个新行,这样我就可以在 PFD 中看到一个格式,我尝试添加一个页面宽度但它没有用,我用另一个东西/n 也没有用。这是我的代码。我可以手动添加格式,因为我需要显示从数据库中获取的信息,并且我在一
我正在尝试编写一个 Java 程序,它将大量 GPS 坐标捕捉到线形文件(道路网络),并且不仅返回新坐标,还返回捕捉到的线段的唯一标识符。该标识符是否是 FID、其他语言中使用的“索引”(即,其中 1
你好,我正在努力处理 JavaScript/NodeJS 中的数组。 基本上,这是我的代码: let arr = new Array(); arr = { "Username" : var1,
我正在学习 matplotlib 的基本教程,我正在处理的示例代码是: import numpy as np import matplotlib.pylab as plt x=[1,2,3,4] y=
所以,假设我有一个包含 20 行的文本文件,每行都有不同的文本。我希望能够有一个包含第一行的字符串,但是当我执行 NextLine(); 时我希望它成为下一行。我试过了,但它似乎不起作用: strin
我是一名优秀的程序员,十分优秀!