Я застрял в Delphi 7 с проблемой распространения событий (из-за моего невежества ).
Меня просят динамически прикрепить обработчик события OnMouseUp
к некоторым элементам управления в форме (, и я согласен с этим ), но если OnMouseUp
присутствует, событие OnClick
на этом элементе управления не должны обрабатываться.
Если вы спрашиваете, в чем причина этого, я отвечаю за изменение старого приложения для мониторинга производства, (вздох ), которое отныне должно обеспечивать условное поведение для некоторых элементов управления, в ответ на предыдущий щелчок по специальной функциональной кнопке.
Некоторые из этих элементов управления уже имеют OnClick
обработчик событий; Первое решение, к которому пришла команда, заключалось в своевременном вмешательстве в каждый обработчик OnClick
и управлении контекстными действиями, связанными со статусом кнопки специальной функции.
Я предложил воспользоваться объектно-ориентированным дизайном -, который уже существует для форм приложений :все они наследуются от одного и того же пользовательского объекта-предка, поэтому я планировал добавить туда метод инициализации для динамического присоединения OnMouseUp
события элементам управления, которые объявлены для его поддержки в подклассах.
Настоящим я не прошу подтвердить или подвергнуть сомнению (возможное отсутствие )дизайна всего этого (между прочим, после долгих размышлений и рассуждений показалось, быть путем, по которому мы можем идти с меньшей болью ); моя проблема заключается в том, что для того, чтобы такой дизайн имел место, я должен позволить динамически -прикрепленным OnMouseUp
обработчикам событий остановить распространение событий на ранее -существующие OnClick
события на этих элементах управления.
Возможно ли это в Delphi 7?