MaxTTT Ответов: 0

Неправильная X и y координаты на элемент управления PictureBox в VB6


Я пытаюсь использовать простой код в VB6 для извлечения координат мыши на Picturebox с помощью события MouseMove и отображения этих значений в текстовом поле, но полученные результаты неверны.

Элемент управления PictureBox (фото1) - это для scalemode = пиксель, Scaleheight = 249, Scalewidth = 305, ScaleLeft = 0, ScaleTop = 0, высота = 3735, ширина = 4574, свойства borderstyle = none, то Appareance = квартира.

Когда мышь находится по всему левому краю, значение X равно 1, и это неправильно, потому что ScaleLeft = 0.
Когда мышь находится полностью справа, значение X равно 303, и это неправильно, потому что ScaleWidth = 305.

Когда мышь находится в верхней части picturebox, значение Y равно 1, и это неправильно, потому что ScaleTop = 0.
Когда мышь находится в нижней части picturebox, значение Y равно 247, и это неправильно, потому что ScaleHeight = 249.

Если я установлю ScaleLeft и ScaleTop равными 0 в событии Form_Load, результаты будут разными, но неверными...

Что я делаю не так? есть API, чтобы сделать это лучше или точнее?

Что я уже пробовал:

Частная Суб Picture1_MouseMove(Кнопка Как Integer, Shift, Как Число, X В Качестве Единственного, У Как Один)
Текст1.Текст = "х:" &амп; х &амп; "," &ампер; "г:" &усилителя; г
Конец Подводной Лодки

0 Ответов