C++ 找不到光标坐标

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' 我尝试了几种方法,甚至尝试用

我正在完成一个绘图应用程序,用户在一个pictureBox中绘图。一切都已完成,但我在查找光标位置时遇到了一些问题

下面是查找光标位置坐标的代码/命令

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;在->下面有一条红线。。。我不记得确切的错误,但它与光标的坐标类似