![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Флаги или переопределение событий? [D5]
Sandman25 © (2004-07-08 12:43:00)Учу родственника программированию.
Допустим, нужно реализовать механизмы перетаскивания и изменения размеров геометрических фигур, нарисованных на PaintBox. Как лучше учить?
1. Заводить свойство типа TMouseMode = (mmNone, mmMoving, mmResizeE, mmResizeW, mmResizeS, ...) и в обработчиках OnMouseDown-Up-Move использовать case.
2. Заводить свойство типа TMouseMode = (mmNone, mmMoving, mmResizeE, mmResizeW, mmResizeS, ...) и в SetMouseMode переключать обработчики событий, например: OnMouseDown := mmResizeEMouseDown;
Первый способ вроде бы является более общепринятым в Delphi, я и сам так писал несколько лет назад, решая аналогичную задачу.
Второй способ вроде бы является более правильным с точки зрения ООП.
Или лучше использовать какой-то третий способ?
PS. Стараюсь учить без привязки к конкретной среде/языку. Парень закончит учиться через 5 лет, к тому времени много чего может измениться.
Sandman25 (2004-07-08 12:50:00) [1][1] Семен Сорокин © (08.07.04 12:48)
А ведь точно, чем больше, тем лучше :)
Спасибо.
Глупый у меня вопрос получился :)
Семен Сорокин (2004-07-08 12:48:00) [2]покажи оба способа, главное чтобы понял принципы реализации.
ЗЫ. я обычно использую 1п.