Главная страница
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.157 c
3-1088488183
Akella
2004-06-29 09:49
2004.07.25
Народ подскажите как указать универсальный путь к базе данных


4-1086427429
leonidus
2004-06-05 13:23
2004.07.25
Перехват содержимого буфера обмена.


1-1089464146
ko
2004-07-10 16:55
2004.07.25
Текстовое поле как массив


4-1086741481
R
2004-06-09 04:38
2004.07.25
В модуле Masks есть функция MatchesMask(Name, Mask)


1-1089310020
enreas_
2004-07-08 22:07
2004.07.25
Клавиатура