Не могу найти координаты курсора

Я заканчиваю приложение для рисования, где пользователь рисует в 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: ‘void System :: Drawing :: Graphics :: DrawLine (System :: Drawing :: Pen ^, System :: Drawing :: Point, System :: Drawing :: Point)’: невозможно преобразовать аргумент 2 из ‘System :: Рисование :: PointF ‘, чтобы’ плавать ‘

Любая помощь? 🙂 TY

0

Решение

Здесь вы пытаетесь инициализировать PointF с одним целочисленным значением:

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);

Для дополнительной информации https://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawline(v=vs.110).aspx

UPD:

Я не уверен, что вам нужно PointF в этом случае. Попробуйте использовать интегральный Point:

Point ^oldPosition = Point(posX, posY);
Point ^newPosition = Point(e->Location.X, e->Location.Y);
g->DrawLine(pero, oldPosition, newPosition);
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]