Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 20.08.2008
Сообщений: 26

обработка события

04.09.2008, 20:59. Показов 4135. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста как можно описать обработчик события вне класса. Имеется класс, который выводит на форму некоторое количество динамически созданных объектов TPanel. Мне необходимо отлавливать события формы и обрабатывать их в этом классе.
Заранее признателен за помощь!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.09.2008, 20:59
Ответы с готовыми решениями:

Обработка события
Подскажите пожалуйста. Как правильно написать обработку события при нажатии кнопки. Нажимаем кнопку должна выходить справка о программе....

Обработка события OnMouseDown
Всем привет. Имеется, созданная динамически, TPanel. На ней несколько TLabel (тоже созданы динамически). У панели обрабатываются...

Обработка события старт программы
Как добиться, чтобы определенный код выполнялся при запуске программы

10
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
04.09.2008, 22:30
Привет.
Цель можно узнать такой затеи?
0
0 / 0 / 0
Регистрация: 20.08.2008
Сообщений: 26
04.09.2008, 23:04  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Привет.
Цель можно узнать такой затеи?
Просто нужно обрабатывать эти панели по аналогии с PopupMenu, т.е. при клике правой кнопкой мыши они появляются, а при клике на форме или переводе фокуса они исчезают. Вот! А работа и создание этих панелей описаны в другом классе.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.09.2008, 09:37
так событие не обязательно должно быть методом класса, главное - указатель на эту функцию присвоить соответствующему обработчику в классе...
я писал когда-то меню, которое добавлялась в форму налету, в моем классе были обработчики событий для визуальных компонентов заданного окна
0
0 / 0 / 0
Регистрация: 20.08.2008
Сообщений: 26
05.09.2008, 11:05  [ТС]
А поподробнее можно?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.09.2008, 11:12
ну если брать конкретно мой пример, то я для окна внутри своего класса определял события, а в конструкторе своего класса я нужным компонентам назначал нужные обработчики событий с учетом того ,что в них уже могут свои обработчики существовать... если обработчки существовали, то я их сохранял отдельно и вызывал в своих обработчиках, чтобы не нарушать функционал окна, куда цепляю объект своего класса... я могу выложить исходник, если надо, но сомневаюсь, что он сильно поможет, с комментами у меня всегда проблема была...
0
Администратор
 Аватар для mik-a-el
87848 / 53169 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
05.09.2008, 11:14
Цитата Сообщение от ING_T Посмотреть сообщение
Мне необходимо отлавливать события формы и обрабатывать их в этом классе.
А что мешает в обработчиках событий самой формы вызывать методы этого класса?
Или назначить методы класса обработчиками событий формы.
0
0 / 0 / 0
Регистрация: 20.08.2008
Сообщений: 26
05.09.2008, 11:53  [ТС]
Если можно ради примера - посмотреть!Я просто хотел написать что-то универсально (без переопределения событий и т.п.)
Спасибо!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
05.09.2008, 11:56
ну лови, если что будет не понятно, пиши, подскажу...
Вложения
Тип файла: rar arhive.rar (5.0 Кб, 97 просмотров)
0
0 / 0 / 0
Регистрация: 20.08.2008
Сообщений: 26
06.09.2008, 12:44  [ТС]
Спасибо!

Добавлено через 22 часа 40 минут 22 секунды
Добрый день!
WooDooMan, я посмотрел исходники - спасибо! Вроде все понятно, но возник вопрос, а можно ли передавать указатель на обработчик как параметр функции? И как можно в обработчик события добавить свои параметры? Я пробовал просто прописать в прототипе обработчика, но вылетает ошибка.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2008, 09:17
ну чтобы передавать функцию как параметр нужно объявить указатель на функцию, тогда и передавать сможешь, а вот для стандартных событий менять параметры нельзя вроде бы вообще, либо надо создавать свой компонент, где будут заданы прототипы нужных тебе обработчиков событий
пример указателя на массив функций(указатель объявляется по аналогии):
Code
1
2
3
4
5
6
7
 
       void __fastcall CallView(AnsiString Type, AnsiString Caption);
       void __fastcall CallViewP(AnsiString Type, AnsiString Caption);
       void __fastcall (__closure* Func[2])(AnsiString, AnsiString);
...
  Func[0] = &CallView;
  Func[1] = &CallViewP
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2008, 09:17
Помогаю со студенческими работами здесь

События и их обработка
Подскажите как можно реализовать обработку событий, чтобы можно было использовать примерно такой код: void test_handler(object*...

Обработка события Click, вставка html после генерации и обработка этого кода
Подскажите пожалуйста как заставить работать эту часть кода 18 строка $(".image").click(function() { ...

Обработка события
Прошу прощения за тупой вопрос. Ни разу не кодил на бейсике, но вынужден чинить чужую программу. Microsoft visual basic 6.3 Есть...

Обработка события
Подскажите пожалуйста, как сделать что бы по нажатию пункта меню надо будет менять количество кнопок на панели, а ненужные скрывать.

События и их обработка
Здравствуйте. Суть вопроса: есть клас события package colibri; import java.util.ArrayList; import java.util.EventObject; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru