C++ 找不到光标坐标
我正在完成一个绘图应用程序,用户在一个pictureBox中绘图。一切都已完成,但我在查找光标位置时遇到了一些问题 下面是查找光标位置坐标的代码/命令C++ 找不到光标坐标,c++,graphics,cursor,drawing,picturebox,C++,Graphics,Cursor,Drawing,Picturebox,我正在完成一个绘图应用程序,用户在一个pictureBox中绘图。一切都已完成,但我在查找光标位置时遇到了一些问题 下面是查找光标位置坐标的代码/命令 PointF ^newPositionX = PointF(e->Location.X); PointF ^newPositionY = PointF(e->Location.Y); 它显示此错误-> 错误C2440:'':无法从'int'转换为'System::Drawing::PointF' 我尝试了几种方法,甚至尝试用
PointF ^newPositionX = PointF(e->Location.X);
PointF ^newPositionY = PointF(e->Location.Y);
它显示此错误->
错误C2440:'':无法从'int'转换为'System::Drawing::PointF'
我尝试了几种方法,甚至尝试用谷歌搜索任何解决方案,但什么也没有。如果你回答了,你能写下代码或者发布一个与代码相关的外部链接吗?我不是那么先进,我知道当你写一个定义的时候该怎么做
顺便说一句,这是画线,也有一个小错误->
g->DrawLine(pero, oldPositionX, oldPositionY, newPositionX, newPositionY);
这里是错误。
错误C2664:“无效System::Drawing::Graphics::DrawLine(System::Drawing::Pen^,System::Drawing::Point,System::Drawing::Point)”:无法将参数2从“System::Drawing::PointF”转换为“float”
有什么帮助吗?:)TY在这里,您试图用一个整数值初始化
点F
:
PointF ^newPositionX = PointF(e->Location.X);
PointF ^newPositionY = PointF(e->Location.Y);
但点需要两个坐标来初始化。你应该这样做:
PointF ^newPosition = PointF(e->Location.X, e->Location.Y);
划一条线:
g->DrawLine(pero, oldPositionX, oldPositionY, newPosition.X, newPosition.Y);
如果oldPosition
也由PointF
表示,您只需使用:
g->DrawLine(pero, oldPosition, newPosition);
更多信息
UPD:
我不确定您在这种情况下是否需要PointF
。尝试使用积分点
:
Point ^oldPosition = Point(posX, posY);
Point ^newPosition = Point(e->Location.X, e->Location.Y);
g->DrawLine(pero, oldPosition, newPosition);
为什么你要把一个坐标投射到一个点上?画线(笔,点1,点2)对我不起作用。Idk为什么你要我做这样的事情?就像我有画线(pero,oldPosition,e->Location),但它不起作用,像什么?实际上,我不太确定变量
oldPositionX
和oldPositionY
。如何申报?UPD:是抽绳(pero、oldPosition、e->Location)
。你所说的“不知何故不起作用”是什么意思?点f oldPositionY,oldPositionX,newPositionX,newPositionY;在->下面有一条红线。。。我不记得确切的错误,但它与光标的坐标类似