Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Флаги или переопределение событий? [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п.


Наверх

Титульная страница Поиск, карта сайта Написать письмо