четверг, 14 апреля 2011 г.

Урок 4 . Список действий и элементы управления формы (компонент TActionList)



Привет.
С Вами Веселов Александр.
Один из моих учителей, а было у меня их за всю жизнь не то, чтобы много, но каждый - личность, использовал такую практику: новичка он сталкивал в пропасть "нового, незнакомого, не найденного", а сам какое-то время наблюдал. Выберется тот, сможет научиться и разобраться - будет хороший специалист, профессионал. Ну, а не поднимется, увы...
Мы с Вами, мой дорогой читатель, только начинаем свой нелегкий путь. Смелее вперед!
Список необходимых нам действий является прямым следствием технического задания и алгоритма, которые мы обсуждали на предыдущем уроке:
  • Вывести окно «О программе»,
  • Настроить быстрые кнопки,
  • Выбрать звуковой файл,
  • Запустить таймер,
  • Остановить таймер,
  • Увеличить количество минут,
  • Уменьшить количество минут,
  • Увеличить количество секунд,
  • Уменьшить количество секунд.
Поэтому, первое, что необходимо сделать - разместить в любом месте на форме компонент TActionList (список действий), перетащив его с вкладки "Стандартные" "Tool Palette" (Панели компонентов). Если кому-то стало 
дурно
 сложно, посмотрите видео урок по этой теме - там наглядно и просто показано, как это сделать.  Чтобы начать наполнять список действий, щелкните по нему дважды мышкой.



ActionList AND MainMenu
Как видно из рисунка, я положил на форму еще ряд компонентов - элементов управления (Controls): надписи (Label), различные кнопки (Button)и статус бар внизу (StatusBar). Подробно, как это сделать, смотрите в одноименном видео уроке.
Добавьте в ActionList действия в соответствии с рисунком и алгоритмом работы программы, распределив действия по категориям. Подробно, как это сделать, смотрите в одноименном видео уроке.




жмите на кнопку добавления нового действия (New Action), а затем в Инспекторе объектов заполните свойства, как показано на рисунке выше.
Затем в Инспекторе  объектов переключитесь на вкладку событий (Events) и дважды щелкните на событии onExecute.



В модуль программы будет сгенерирована заготовка для записи кода, реализующего нажатие кнопки.
Сделайте заготовки кода под каждый Action. Пусть пока это будет вывод на экран простого уникального сообщения, чтобы убедиться в рабоспособности нашей конструкции.
На следующем шаге необходимо связать набор действий с элементами управления формы. Здесь необходимо сделать небольшое отступление. Зачем вообще нужен этот компонент "ActionList", что в нем пользы, если можно под каждую кнопку написать кусочек программы, чтобы кнопка выполняла необходимые нам действия? Обращаю Ваше внимание, что практически в любой программе одинаковые действия выполняются при кликании на различных элементах управления: пунктах меню, кнопках и т.п. Чтобы избавиться от повторного написания (или копирования) частей программы и необходим этот замечательный компонент. К тому же, если повторяющиеся фрагменты программы довольно объемны, то такая организация программы (с использованием ActionList) существенно снизит объем конечного исполняемого файла.
Чтобы связать элемент управления формы (пункт меню или кнопку) с определенным действием, перейдите на вкладку визуального конструктора (Design), выберите элемент управления, а затем в Инспекторе объектов, на вкладке Events выберите необходимое действие Action, как показано на двух следующих рисунках для одного из пунктов меню и кнопки "Старт":







Обращаю Ваше внимание, что подписи пунктов меню и кнопок изменились, и приняли значения, указанные в назначенном им действии (Action). И еще: чтобы при наведении на элемент управления мышки, показывалась всплывающая подсказка (Hint), свойство Show Hint (показывать подсказку) должно быть установлено в True (Истина).
Скомпилируйте проект. Если Вы не наделали ошибок, и не потеряли ни одного символа разделения операторов - точки с запятой, то на экране появится окно программы. Выбрав пункт меню "Действия - Старт", нажав быструю клавишу F5, или нажав просто кнопку "Старт", Вы получите отклик программы на свое действие, т.е. сообщение:

"Старт таймера"


Наглядный видео урок Вы можете посмотреть или скачать, пройдя по ссылке.
Подведем итог:
на этом уроке Вы научились
  • Располагать на форме различные элементы управления (Controls),
  • Работать со списком действий (ActionList),
  • Создавать действия (Actions), распределяя их по категориям,
  • Назначать действия элементам управления


Что же дальше?
На следующем уроке я предлагаю не на долго оставить нашу разработку.
Дело в том, что, несмотря на обилие поставляемых вместе со средой разработки различных компонентов, не всегда в их числе находится нужный, обладающий всеми необходимыми свойствами.
Есть три пути решения таких вопросов:
1. Внести изменения в поставляемый вместе с оболочкой Delphi компонент
2. Разработать свой компонент с необходимыми свойствами.
3. Купить или найти бесплатный компонент стороннего разработчика.
Первые два пути предполагают наличие довольно глубоких знаний и достаточный лимит времени. Не буду отвергать их. В процессе наших уроков я расскажу, как это сделать, т.е. мы поучимся изменять существующие компоненты и разрабатывать свои собственные.
А на следующем уроке я предполагаю поговорить о процессе установки в среду разработки Delphi компонентов сторонних производителей.
До встречи.

Комментариев нет:

Отправить комментарий