Drag&Drop с массивами pictureboxов. ПОМОГИТЕ ПЛЗ.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tysya
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 10.01.2007 (Ср) 22:17

Drag&Drop с массивами pictureboxов. ПОМОГИТЕ ПЛЗ.

Сообщение Tysya » 10.01.2007 (Ср) 22:26

ПОМОГИТЕ ПОЖАЛУЙСТА!!!
У меня есть два массива пикчербоксов и мне нужно перетащить один из пикчербоксов первого массива на пикчербокс из второго массива и проверить на совпадение в них картинок... Как это сделать??? Я пробывал сделать на принципе двух пикчербоксов, но не получается: Drag&drop вообще не срабатывает :( ... (Могу, если надо, показать что я делал) Помогите кто может плз.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 11.01.2007 (Чт) 0:15

Показывай...
Лучший способ понять что-то самому — объяснить это другому.

Tysya
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 10.01.2007 (Ср) 22:17

Вот что я делал...

Сообщение Tysya » 11.01.2007 (Чт) 0:44

Dim v as Integer

Private Sub pict_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
v = Index
pict(v).Drag vbBeginDrag
End Sub

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
pict(v).Move X, Y
pict(v).Visible = True
pict(v).DragIcon = LoadPicture(App.Path & "\no.cur")
End Sub

Private Sub pict_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single)
pict(v).Visible = True
End Sub

Private Sub pic_DragOver(Index As Integer, Source As Control, X As Single, Y As Single, State As Integer)
Select Case State
Case vbEnter
pict(v).DragIcon = LoadPicture(App.Path & "\yes.ico")
Case vbLeave
pict(v).DragIcon = LoadPicture(App.Path & "\no.cur")
End Select
End Sub

Private Sub pict_DragOver(Index As Integer, Source As Control, X As Single, Y As Single, State As Integer)
Select Case State
Case vbEnter
pict(v).DragIcon = LoadPicture(App.Path & "\yes.ico")
pic(v).Picture = pict(v).Picture
Case vbLeave
pict(v).DragIcon = LoadPicture(App.Path & "\no.cur")
End Select
End Sub

pict() - это перетаскиваемые пикчеры
pic() - это те пикчеры с которыми будет проверка на совпадение картинок..
Пока делал просто при наведении первого на второй меняется курсор и во второй загружается картинка первого (но не работает :(), а как сделать проверку на совпадение ещё не думал...

Tysya
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 10.01.2007 (Ср) 22:17

Сообщение Tysya » 11.01.2007 (Чт) 2:33

Ну и что дальше??? При этом коде Drag&drop вообще не срабатывает, может тут где-то ошибка или я что-то не-то написал??? :?:

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 11.01.2007 (Чт) 3:06

Вот один способ сравнения картинок, на мой взгляд, очень медленный:
http://vb-helper.com/howto_net_image_compare.html

Вот еще один, вероятно быстрее, но помоему палку с ценой перегнули:
http://www.catenary.com/howto/compare.html

Вот еще парочка вариантов под NET, но я думаю если очень надо то можно и переделать на вб6
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1057994&SiteID=1

А здесь помоему бесплатный вариант (имеется возможность сравнения)
http://koti.mbnet.fi/mhieta/software.shtml

(чет много вариантов) Ну все дальше сам... (ну всмысле как сравнивать) :idea:
Dmitrich

Tysya
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 10.01.2007 (Ср) 22:17

Сообщение Tysya » 11.01.2007 (Чт) 10:05

Dmitriy2003 снкс за проверки!!!
Аntonariy ну что, есть какие - то версии как сделать Drag&drop :P ????

schalexey
Обычный пользователь
Обычный пользователь
 
Сообщения: 96
Зарегистрирован: 18.02.2005 (Пт) 17:41
Откуда: Сургут

Сообщение schalexey » 11.01.2007 (Чт) 10:14

Tysya
странно чет прям... проверял на новом проекте все работает... все срабатывает...

Tysya
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 10.01.2007 (Ср) 22:17

Сообщение Tysya » 11.01.2007 (Чт) 11:22

schalexey может ты проверял на двух пикчербоксах которым назначил индексы, а с массивом одних пикчербоксов и массивом других пикчербоксов drag не срабатывает на том который перетаскиваешь. Попрубуй создать по два элемента с каждого массива и посмотришь... !!!


Вернуться в Visual Basic 1–6

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

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

    TopList