| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Создание класса из группы визуальных компонентов |
| Автор: Нитонисе 17.3.2013, 10:07 | ||
В моих программах есть группы компонентов, имеющих схожее поведение. Хотелось бы упростить программирование разработкой класса, где нужно описать поведение этой группы один раз и далее применять в других программах. Например, есть компонент TButton и TEdit. По нажатию на TButton должно появляться сообщение с содержимым TEdit. Создаю такой класс.
Теперь при создании формы я могу пару компонентов Button и Edit запихнуть в свой класс и хочу чтобы при нажатии на Button активизировалась функция OnClick моего класса. Важная особенность - помимо обработчика щелчка прописанного в моем классе я хочу иметь возможность прописать и какие-то дополнительные действия уже вне класса. То есть чтобы сначала сработал мой обработчик OnClick, а потом стандартный (или наоборот), где я бы мог добавить какие либо еще действия. Как это реализовать? |
| Автор: Dem_max 17.3.2013, 11:04 | ||
Примерно так
|
| Автор: xvr 18.3.2013, 13:41 |
| Сделайте из этой парочки свой компонент и добавьте его в Builder |
| Автор: Dem_max 18.3.2013, 14:42 |
| Гимору будет больше, для компонента имеют одинаковые обработчики события и др. |
| Автор: math64 20.3.2013, 10:09 |
| Если кнопка располагается рядом с TEdit - создайте фрейм и вставляйте её в форму. Кодировния гораздо меньше, чем для создания своего компонента. Код получится похожий на код Dem_max, но наследование от TFrame и всё кроме обработчика нажатия, будет создано самим Билдером. ЗЫ: класс фрейма обязательно переименуйте. По умолчанию будет TFrame2, а компонент на форме Frame21 (не 21-ый, а два-один). |
| Автор: Dem_max 20.3.2013, 11:56 |
| http://program.rin.ru/razdel/html/1119.html |
| Автор: Нитонисе 23.3.2013, 11:55 | ||
Здесь возникает ошибка, если обработчик OldBClick не существует. Приходится делать методы пустышки. Это довольно неудобно. Как можно решить этот вопрос? Получается что в классе нужно иметь возможность узнавать определен ли стандартный обработчик нажатия на кнопку. |
| Автор: xvr 23.3.2013, 13:35 | ||||
|
| Автор: Нитонисе 28.3.2015, 15:28 |
| del |