Первая попытка




Общий сценарий выглядит так: я выбираю нужную вкладку и перетаскиваю строку с описанием задачи на сетку. Для всех трех страниц при этом выполняются практически одинаковые операции. Единственное отличие заключается в том, какая сетка получает строку. Следовательно, необходимо придумать способ совместного использования обработчиков OnDragOver и OnDrag Drop всеми тремя сетками.

Наверное, это вопрос личного вкуса, но я предпочитаю, чтобы совместно используемые обработчики событий имели более внятные имена, чем генерирует Delphi. Я решил назвать их GridDragOver и GridDragDrop.

Перед тем как следовать дальше, опишу алгоритм для создания нестандарт ных имен обработчиков1:

  1. Дважды щелкните на имени обрабатываемого события в инспекторе объектов.
  2. Delphi автоматически создаст уникальное имя процедуры, объединив в нем имена компонента и события. Что еще важнее, при этом автомати чески генерируется список параметров для обработчика данного
    события (я слишком ленив и предпочитаю, чтобы вместо меня этим занималась среда Delphi).
  3. Введите любой текст (например, точку с запятой) между begin и end
    пустой процедуры, созданной Delphi. Это предотвращает автоматичес кое удаление процедуры при попытке сохранить файл.
  4. Отредактируйте имя процедуры, затем выделите его двойным щелчком и нажмите Ctrl+C, чтобы скопировать в буфер.
  5. Перейдите в начало файла и найдите объявление исходного обработ чика среди прочих объявлений формы. Выделите исходное имя и нажмите Ctrl+V, чтобы заменить его новым.
  6. В какой-то момент Delphi пожалуется, что исходное имя (все еще присутствующее в инспекторе объектов) не найдено. Подтвердите его удаление.
  7. Переместите курсор в пустую строку инспектора объектов. Вставьте в нее новое имя, нажимая Ctrl+V.
  8. Сохраните файл.

Исходный текст написанных мной процедур приведен в листинге 16.1.



Содержание раздела