Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2010, 09:06   #1
GSirr
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 42
Сообщение Тулбары - настолько рутинно?

Здравствуйте!
Хочу поинтересоваться, как вы работаете с тулбарами. А конкретно с кнопками и прочими эдиторами в них. Понятное дело, что в процессе работы с программой какие-то из них приходиться делать то активными, то неактивными, какие-то кнопки скрывать, какие-то отбражать. Поэтому назрел вопрос - как вы организуете эту рутинную работу в своих программах? Используете какую-либо универсальную процедуру для изменений свойст объектов или просто меняете то что вам нужно при каждом происходящем эвенте?
GSirr вне форума Ответить с цитированием
Старый 27.02.2010, 10:05   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Намного проще получается если использовать ActionManager или попроще ActionList куда вы добавляете все ваши действия а потом кнопкам в тулбаре назначаете эти действия. У ActionList и ActionManager есть св-во, точно непомню, OnActionList1Update где вы прописываете условия при которых у вас активно или нет ваше действие, а следовательно и кнопка которой вы назначили это действие
пирмер
Код:
procedure TClientForm.ActionList1Update(Action: TBasicAction;
  var Handled: Boolean);
begin
 MyAction.Enabled:=Edit1.Text<>''; 
end;
т.е пока не ввели текст в едит кнопка будет недоступна.
И всё больше никакого кода за отслеживанием. Прога сама будет за этим следить
SERG1980 вне форума Ответить с цитированием
Старый 27.02.2010, 10:33   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
или просто меняете то что вам нужно при каждом происходящем эвенте?
Обычно именно так я и поступаю, иногда правда всем кнопкам назначаю один и тот же обработчик событий, а в нем проверяю какая кнопка его вызвала, в зависимости от этого что-то делаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2010, 22:22   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

А я избегаю всех этих заморочек со списками событий, хотя признаю что если привыкнуть, возможно удобнее будет, но все это упомнить не в моих силах. Я тоже создаю общий обработчик, и назначаю его всем кнопкам у к-рых одинаковое действие или схожее. Дельфи сейчас это такой комбайн, что и половины возможностей VCL и IDE наверное не используешь по незнанию, или нежеланию вникать.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц