Перетаскивать мышкой

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Перетаскивать мышкой

Сообщение Saturn.65 » 25.01.2009 (Вс) 21:50

Можно ли так сделать, чтоб по форме перетаскивать объекты и менять их размеры, как это мы делаем на форме, когда ставим контролы? Хочу написать программу "Весы". Чтоб брать грузы и мышкой их перетаскивать на чаши, при этом грузы можно было бы растягивать как надо, чтоб изменить им размеры? Просто не знаю, за что сперва зацепиться. Нашел пример с DragDrop, но там можно только взять и бросить. Промежуточного нет состояния. Т.е. нельзя сдвинуть предмет на пару мм. Либо он там либо там. Может у кого примитивный пример есть?
Главное, ребята, сердцем не стареть...

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Перетаскивать мышкой

Сообщение MIT » 25.01.2009 (Вс) 21:57

Можно.
Но степень сложности определяется языком, на котором пишешь: в .NET - это не проблема - WPF в руки и пошел; с VB6 посложнее - придется реализовывать все самому.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перетаскивать мышкой

Сообщение Хакер » 25.01.2009 (Вс) 22:17

Saturn.65 писал(а):Можно ли так сделать, чтоб ...

Запомни одно правило. Если что-то где-то как-то сделано, то можно сделать так же.

По теме:
1) Можно, но нужно ли?
2) Посмотри вопрос Константина в разделе VB. Прогулйся по ссылке, посмотри там два примера.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Перетаскивать мышкой

Сообщение Saturn.65 » 25.01.2009 (Вс) 22:58

Хакер Спасибо! То, что нужно. Просто хотел писать схему размещения грузов в прицепе. Т.е. надо ездить через весы, а на ось нагрузка ограничена. Вот и хотелось бы моделировать некие грузы и размещать их в кузове и прикидывать нагрузку. Если например влево больше перетащил по кузову, то нагрузка на левую ось больше, чуть в право, то уже меньше на левую и больше на правую. Вот и думаю, как нагляднее это сделать. А как по проще то? Если не растягивать мышкой, а сделать набор некоторых стандартных грузов и только их перетаскивать, то будет немного попроще.
Главное, ребята, сердцем не стареть...

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Перетаскивать мышкой

Сообщение Saturn.65 » 28.01.2009 (Ср) 12:17

Как упростит код ?
Фигур много и из надо перемещать по форме на определенном расстоянии. Фигуры sh(0), sh(1) и так далее.
Код: Выделить всё
If sh(mInd).Left = 14 Then
Label3.Caption = "0"
End If
If sh(mInd).Left = 15 Then
Label3.Caption = "1"
End If
If sh(mInd).Left = 16 Then
Label3.Caption = "2"
End If
If sh(mInd).Left = 17 Then
Label3.Caption = "3"
'И так далее до If sh(mInd).Left = 540

Мне нужно от 14 до 540 твипов такое писать
Главное, ребята, сердцем не стареть...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Перетаскивать мышкой

Сообщение tyomitch » 28.01.2009 (Ср) 12:26

Издеваешься, да?
Код: Выделить всё
If (sh(mInd).Left >= 14) And (sh(mInd).Left <= 540) Then
Label3.Caption = sh(mInd).Left - 14
End If
Изображение

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: Перетаскивать мышкой

Сообщение Saturn.65 » 28.01.2009 (Ср) 12:46

tyomitch Гуниально! Спасибо! А я голову ломаю.
Уже кое что.
И еще хотел спросить. Как сделать клик по фигуре? потому как по фигурам щелкаешь, а открывается окно General.
Тут приходится либо по форме делать либо
Код: Выделить всё
Private Sub Form_Click()
Text1.Text = sh(mInd).Index
  If Text1.Text = sh(mInd).Index Then
  Text2.Text = sh(mInd).Height
  Text3.Text = sh(mInd).Width
  End If
End Sub

Либо так.
Код: Выделить всё
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Text1.Text = sh(mInd).Index
  If Text1.Text = sh(mInd).Index Then
  Text2.Text = sh(mInd).Height
  Text3.Text = sh(mInd).Width
  End If
Главное, ребята, сердцем не стареть...

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Перетаскивать мышкой

Сообщение Joo » 28.01.2009 (Ср) 15:43

Это что за бадяга????
Saturn.65 писал(а):
Код: Выделить всё
...
  Text1.Text = sh(mInd).Index
  If Text1.Text = sh(mInd).Index Then
  Text2.Text = sh(mInd).Height
  Text3.Text = sh(mInd).Width
  End If
...
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList  
cron