А как распознать событие если КУЧА форм???

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

А как распознать событие если КУЧА форм???

Сообщение newonline » 22.08.2005 (Пн) 18:27

Я имею ввиду, что если в приложении необходимо загружать множество форм по типу:

Dim FormData as FormData
Set Form Data = New FormData
Load Form Data

Использовав Load я уверен, что новая форма добавляется в набор Forms.

Если затем я произведу событие на любой из созданных таким образом форм (н-р DblClick), то как же узнать какой из экземпляров распознал событие. Ведь у набора Forms есть метод (или событие -не помню) Item, но где его найти??? :? [/b]
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.08.2005 (Пн) 18:30

Как вариант -- различать их по hWnd.
Lasciate ogni speranza, voi ch'entrate.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 22.08.2005 (Пн) 18:30

Зачем, позвольте осведомиться, узнавать принадлежность события?

На примере будет лучше.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Re: А как распознать событие если КУЧА форм???

Сообщение Ennor » 22.08.2005 (Пн) 18:34

newonline писал(а):...как же узнать какой из экземпляров распознал событие.

В каком именно месте твоей программы тебе требуется это знание? Опиши вкратце, ибо складывается у меня впечатление, что ты сам плохо себе представляешь, что именно тебе нужно.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: А как распознать событие если КУЧА форм???

Сообщение alibek » 22.08.2005 (Пн) 18:37

Ennor писал(а):В каком именно месте твоей программы тебе требуется это знание?

Скорее всего у него обработчик вынесен в модуль.
Если так, то можно передавать дополнительным аргументом Me.hWnd, а можно сразу Me.
Lasciate ogni speranza, voi ch'entrate.

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 22.08.2005 (Пн) 19:20

Моя прога будет проектировать схемы дислокации дорожных знаков.
Для этого в качестве исходной информации в форму frmData на FlexGrid загружаются из файла данные - одна форма - одна таблица данных("Характерные точки", Данные плана трассы, Данные продольного профиля, Данные поперечного профиля, и т.д..., см. файл в кодировке DOS). Эти формы нет смысла и не удобно привязывать к конкретным таблицам, так как число исходных таблиц может меняться в зависимости от задачи проектирования, поэтому пользователь и загружает любое необходимое число исходных таблиц. Пользователь открывает - создает новый экземпляр - этой формы для редактирования и указывает (используя помещенный на форму ComboBox) какую именно таблицу он загрузил - т.е. дает ей имя.

Так как все созданные экземпляры формы имеют стандартное свойство Name = "frmData", то я специально добавл открытую переменную TableName в модуль формы, чтобы в дальнейшем эти таблицы можно было легко идентефицировать в ходе циклов обработки данных.

ТАК ВОТ, в момент, когда пользователь выбирает имя таблицы из списка и нажимает кнопку "Назначить имя" я должен узнать какому экземпляру формы назначить это имя (т.е. свойству TableName). Ну и естесственно выполнить все проверки, чтобы не было назначено двум экземплярам одинаковое имя... :roll:
Если что-то непонятно - я поясню :)
Вложения
0000068C.rar
Это загружаемые таблицы исхдных данных
(595 байт) Скачиваний: 24
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.08.2005 (Вт) 3:02

Если что-то непонятно

Наоборот, всё понятно.
Книжек не читал, ООП не изучал.

Код: Выделить всё
private sub cmdApplyName_Click()
  me.tablename = cmbTableName.Text
end sub


Всё.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение tyomitch » 23.08.2005 (Вт) 11:18

Вдобавок к коду GSerg: слово Me необязательно, без него эффект тот же.
Изображение

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: А как распознать событие если КУЧА форм???

Сообщение codemaster » 23.08.2005 (Вт) 11:39

newonline писал(а):Я имею ввиду, что если в приложении необходимо загружать множество форм по типу:

Dim FormData as FormData
Set Form Data = New FormData
Load Form Data

Использовав Load я уверен, что новая форма добавляется в набор Forms.

Если затем я произведу событие на любой из созданных таким образом форм (н-р DblClick), то как же узнать какой из экземпляров распознал событие. Ведь у набора Forms есть метод (или событие -не помню) Item, но где его найти??? :? [/b]


у формы есть проперть "Tag" :wink:
//<-
Mit freundlichen Grüßen
//->

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 23.08.2005 (Вт) 19:05

Спасибо Всем, кто отозвался.
Простите неуча. :oops:
Пошел в библиотеку. :wink:
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...


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

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

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

    TopList