Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: задать координаты кликом мыши на picture Добавлено: 14.05.07 16:21  

Автор вопроса:  litt
Доброе время суток!
Новая проблема:
График строится по координатам x,y(график в первой четверти, x от 0 до 200, y от 0 до 200), введенными с клавиатуры в текстбокс, график выводится на пикчер. Нужно сделать так, чтобы была возможность получения координаты точки кликом мыши по пикчер, т.е альтернатива вводу в текстбокс: кликаешь на область в пикчере и получаешь координату x,y

Ответить

  Ответы Всего ответов: 20  

Номер ответа: 1
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #1
Добавлено: 14.05.07 16:26
Есть свойство mouse_move оно и показивает координати...

Ответить

Номер ответа: 2
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #2 Добавлено: 14.05.07 17:17
но мне нужно не в экранных координатах, а в координатах на пикчере

Ответить

Номер ответа: 3
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #3 Добавлено: 14.05.07 17:17

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button <> 1 Then Exit Sub
    Label1 = X
    Label2 = Y
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #4 Добавлено: 14.05.07 17:20
Тебе в координатах екрана или формы?

Ответить

Номер ответа: 5
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #5 Добавлено: 14.05.07 17:24
в координатах picturebox

Ответить

Номер ответа: 6
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #6 Добавлено: 14.05.07 17:26
ну значит тебе мой пример подойдет

Ответить

Номер ответа: 7
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #7 Добавлено: 14.05.07 19:10
спасибо, работает, но там большие значения x и y выводятся, а мне нужно в программе, чтобы значения x и y
были от 0 до 200 :(

Ответить

Номер ответа: 8
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #8
Добавлено: 14.05.07 19:49
x=(x/Picture1.ScaleWidth)*200

Ответить

Номер ответа: 9
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #9 Добавлено: 14.05.07 20:09
Ооооо...спасибо...
а если Y = (Y / Picture1.ScaleWidth) * 200, то получается, что 0 по оси у находится вверхнем левом углу, как это исправить? :(

Ответить

Номер ответа: 10
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #10
Добавлено: 14.05.07 20:20
Y = (Y / Picture1.ScaleWidth) * 200

Если Y, то юзать надо не ширину а высоту, т.е. Picture1.ScaleHeight

Ответить

Номер ответа: 11
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #11 Добавлено: 14.05.07 22:28
все равно также :(... 0 по y в левом верхнем углу

Ответить

Номер ответа: 12
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #12
Добавлено: 14.05.07 23:10
    If Button <> 1 Then Exit Sub
    Label1 = X * 200 \ Picture1.ScaleWidth
    Label2 = (Y - Picture1.ScaleHeight) * 200 \ (Picture1.ScaleHeight) * -1

Ответить

Номер ответа: 13
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #13 Добавлено: 14.05.07 23:24
воооо, можно так:
  Picture1.Scale (0, Picture1.ScaleHeight)-(Picture1.ScaleWidth, 0)

Ответить

Номер ответа: 14
Автор ответа:
 litt



Вопросов: 6
Ответов: 18
 Профиль | | #14 Добавлено: 22.05.07 19:02
Вот мой код, почему-то при первом клике на пикчер, выводятся отрицательные координаты, чего быть не должно, при втором и последующих кликах-все правильно выводится, может кто-нибудь подскажет в чем ошибка?
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Picture1.Scale (0, Picture1.ScaleHeight)-(Picture1.ScaleWidth, 0)
      If Button <> 1 Then Exit Sub
    X = (X / Picture1.ScaleWidth) * 200
    Y = (Y / Picture1.ScaleHeight) * 200
  Label1 = X
    Label2 = Y
End Sub

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 22.05.07 19:44
может просто
'x = x / Screen.TwipPixelPear как-то так непомню..

х = x / 15


?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам