Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Курсор внутри PictureBox


Автор: indio 14.11.2008, 16:52
история.
Левый клик мышью внутри picturebox. 
Рождаются координаты этого клика.
От клика появляется кружочек в окне PictureBox по координатам клика.
От нажатия ДБЛклика(думаю и о ПрКл) из этого круга(последнего) рисуется линия. второй поток координат линии(X2,Y2) - текущие координаты курсора.
После нажатия ЛК линия замыкается на новом кружочке, образуя отрезок

есть функция API GetCursor, но не приладил пока. она считает координаты от начала формы. Пример с ней ниже,
координаты не попадают, необходим же кружок под кликом. 
Прочел о SetCursosPos, но не сложил ее к делу.

Ответ прорабатывал http://forum.vingrad.ru/forum/topic-225911/kw-%D0%BA%D0%BB%D0%B8%D0%BA.html и http://forum.vingrad.ru/forum/s/8bdc8d1d109ce6e150cfa25cc4661a0d/topic-228721/anchor-entry1652628/0.html но VB6 решения нет или его толика..

Код

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Dim d As POINTAPI

Private Sub Picture1_Click()
GetCursorPos d
dx = z.x
dy = z.y
PointX = dx
PointY = dy
Text1(0).Text = dx
Text1(1).Text = dy
Picture1.Scale (0, 0)-(301, 301) ' задано в пикселях,позже в бокс загружу растр
Picture1.Circle (PointX, PointY), 5, QBColor(2)
End Sub

Private Sub Picture1_DblClick() 'пока на дабл клик, но предполагаю трабл с срабатыванием ОдноКлика
Picture1.Line (PointX, PointY)-(dx, dy), QBColor(3)
End Sub




Благодарю smile

Автор: BorisVorontsov 14.11.2008, 23:20
Оцени ScreenToClient

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)