Остановить распространение событий в Delphi 7

Я застрял в Delphi 7 с проблемой распространения событий (из-за моего невежества ).

Меня просят динамически прикрепить обработчик события OnMouseUpк некоторым элементам управления в форме (, и я согласен с этим ), но если OnMouseUpприсутствует, событие OnClickна этом элементе управления не должны обрабатываться.

Предыстория

Если вы спрашиваете, в чем причина этого, я отвечаю за изменение старого приложения для мониторинга производства, (вздох ), которое отныне должно обеспечивать условное поведение для некоторых элементов управления, в ответ на предыдущий щелчок по специальной функциональной кнопке.

Некоторые из этих элементов управления уже имеют OnClickобработчик событий; Первое решение, к которому пришла команда, заключалось в своевременном вмешательстве в каждый обработчик OnClickи управлении контекстными действиями, связанными со статусом кнопки специальной функции.

Я предложил воспользоваться объектно-ориентированным дизайном -, который уже существует для форм приложений :все они наследуются от одного и того же пользовательского объекта-предка, поэтому я планировал добавить туда метод инициализации для динамического присоединения OnMouseUpсобытия элементам управления, которые объявлены для его поддержки в подклассах.

Необходимость

Настоящим я не прошу подтвердить или подвергнуть сомнению (возможное отсутствие )дизайна всего этого (между прочим, после долгих размышлений и рассуждений показалось, быть путем, по которому мы можем идти с меньшей болью ); моя проблема заключается в том, что для того, чтобы такой дизайн имел место, я должен позволить динамически -прикрепленным OnMouseUpобработчикам событий остановить распространение событий на ранее -существующие OnClickсобытия на этих элементах управления.

Возможно ли это в Delphi 7?

6
задан Dave Clemmer 10 October 2013 в 17:35
поделиться