![]() |
|
|
![]()
|
|
| kisoff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.9.2005 Репутация: нет Всего: нет |
Проблема: есть на форме, допустим, 20 объектов Shape. Нужно по-очереди закрашивать Shape'ы. Можно ли организовать закраску в цикле?
|
|||
|
||||
| BreakPointMAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 6 Всего: 24 |
20 объектов типа Shape? А они как создаются - во время работы программы, динамически то есть, или во время проектирования? Если динамически, то можно сделать массив указателей на объекты типа Shape, потом по индексу к ним обращаться. Впрочем, даже если во время проектирования они создаются, все равно можно массив сделать... А можно искать компонент по имени на форме, потом к нему обращаться - функция такая есть.
-------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Нет такой ф-ии, есть массив всех объектов формы. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
-------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
Ошибся чуточку...........
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Странно, но когда я пишу
то возникает ошибка 'Too few parameters in call to '__fastcall TComponent::GetComponent(int)' Откуда int, откуда GetComponent? не пойму Это сообщение отредактировал(а) ksili - 27.3.2006, 05:02 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
Components это не класс, а массив классов. отсюда и косяк
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Ctrl_Alt_Del |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 11.3.2006 Где: Ставрополь Репутация: 2 Всего: 2 |
|
|||
|
||||
| kisoff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.9.2005 Репутация: нет Всего: нет |
Спасибо за ответы я разобрался!
|
|||
|
||||
| Edd |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2006 Репутация: нет Всего: 1 |
Как создать массив Shape-ов, не лепив их в ручную (а также Edit-ов и других обьектов)?
Надо создать так, что-бы по нажатию на Shape он закрасился или что-нибудь другое сделал(главное чтобы на него можно было-бы кликнуть) |
|||
|
||||
| BreakPointMAN |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 6 Всего: 24 |
В цикле.
События OnMouseXXX помогут, пишешь единый обработчик для всех своих Shape'ов, в цикле назначаешь его всем своим Shape'ам. Если для разных Shape'ов нужно выполнять разные специфические действия, по Sender'у можно узнать, для какого именно объекта произошло событие. -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
||||
|
|||||
| Edd |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2006 Репутация: нет Всего: 1 |
Я хотелбы пример, как для создания, так и на Click.
А то пока не понемаю. |
|||
|
||||
| Ctrl_Alt_Del |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 11.3.2006 Где: Ставрополь Репутация: 2 Всего: 2 |
В *.h объявляешь массив Shape'в и функцию-обработчик события OnMouseDown
В *.cpp собственно создание и обработка
|
||||
|
|||||
| Edd |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 23.3.2006 Репутация: нет Всего: 1 |
Всё хорошо, массив Shape создаёт, но вот процедура MyMouseDown не хочет запускаться.
Выдаёт ошыбку: [C++ Error] Unit1.cpp(22): E2316 '_fastcall TForm1::MyMouseDown(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm1' Убираю "TForm1::" c MyMouseDown, ругается на
Помогите решить проблему пожалуйста! (Может эту проблему отнести в новую тему???) Это сообщение отредактировал(а) Edd - 14.4.2006, 19:48 |
|||
|
||||
| Ctrl_Alt_Del |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 11.3.2006 Где: Ставрополь Репутация: 2 Всего: 2 |
Edd, наверное объявление забыл в *.h. положить
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |