Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Флаги или переопределение событий?   Найти похожие ветки 

 
Sandman25 ©   (2004-07-08 12:43) [0]

Учу родственника программированию.
Допустим, нужно реализовать механизмы перетаскивания и изменения размеров геометрических фигур, нарисованных на 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 лет, к тому времени много чего может измениться.


 
Семен Сорокин ©   (2004-07-08 12:48) [1]

покажи оба способа, главное чтобы понял принципы реализации.
ЗЫ. я обычно использую 1п.


 
Sandman25 ©   (2004-07-08 12:50) [2]

[1] Семен Сорокин ©   (08.07.04 12:48)

А ведь точно, чем больше, тем лучше :)
Спасибо.
Глупый у меня вопрос получился :)



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
3-1088255763
Амир
2004-06-26 17:16
2004.07.25
Дата, локализация, архив...


1-1089656208
Satan
2004-07-12 22:16
2004.07.25
Алгоритм поиска простых чисел порядка 2**128 и выше


3-1088538314
Studentik
2004-06-29 23:45
2004.07.25
Не могу создать индекс...


14-1088680862
Ega23
2004-07-01 15:21
2004.07.25
Тимур Шаов.


1-1089433992
set
2004-07-10 08:33
2004.07.25
Приостановка цикла для ввода дополнительных данных