Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Динамическое создание и обработка элементов Добавлено: 28.11.07 03:51  

Автор вопроса:  sunny | Web-сайт: l2gold.net.ru/ | ICQ: 123123123 
Все придельно просто - VB 6, создаю 100 элементов - картинок таким образом:
    Dim i As Integer, k As Integer, z As Integer
    z = 0
    For i = 0 To 9
        For k = 0 To 9
            Set objCell(z) = Me.Controls.Add("VB.Image", "objCell" & z)
            objCell(z).Move i * 30, k * 30, 32, 32
            objCell(z).Picture = LoadResPicture(101, vbResBitmap)
            objCell(z).Visible = True
            z = z + 1
        Next k
    Next i
короче говоря получается сетка из элементов - изображений и помещаю на них какое-то изображение по умолчанию. Необходимо ловить каждый клик по клетке. Получается ловить только последнюю ячейку по objCell. ObjCellx не работает (вместо х - от 0 до 99), ругается что нет такого объекта.

Собственно вопрос - как можно ловить клики мышкой предположим, или вообще объявить эти элементы на форме? В принципе можно и переделать код, но не извращенными способами типа "определить позицию мышки, поймать хандл" и т.п. Перечитывал форум - показался интересным вариант Load - будет получаться цикл, что очень даже вдохновило на решение задачи. Но хочется добить - понять как может работать vb с множеством элементов.
Коллеги подсказывали что возможна реализация через классы, т.е. вместо записи оч. большого кол-ва строк, делается одна - "типа цикла", но классом.
В общем так и не понял.

Спасибо тем, кто поможет хоть советом.

Ответить

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

Номер ответа: 1
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #1
Добавлено: 28.11.07 04:50
Йузай массивы элементов.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 28.11.07 16:44
почитай тут
http://bbs.vbstreets.ru/viewtopic.php?t=6453

Ответить

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


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 29.11.07 15:49
ещё можно клик мышки обработать просто.. типа setwindowlong (gwl_wndproc, adressof win_proc)

в в ней проверять..
if (msg == wm_buttonup) msgbox ("клиенули на контрол";)..

ну как-то так, я непомню точно.. Короче суть, можно программно сделать любой обработчик на любой элемент.

Ответить

Страница: 1 |

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



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