Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 423

В большинстве случаев вы будете использовать обработчик события для уведомления о том, что произошло определенное событие. Возьмем, например, событие OnMouseDown. Обрабатывая его, вы просто хотите знать, что поль­зователь щелкнул мышью на компоненте (не забудьте, что формы — это тоже компоненты). Вы, возможно, не собираетесь как-либо менять параметры этого сообщения; вы только хотите знать, что событие произошло. Большая часть ваших обработчиков событий будет использоваться именно для целей уведомления.

Иногда вам может потребоваться изменить один или более параметров сообщения перед пересылкой этого сообщения получателю. Предположим, например, что вам требуется перевести в верхний регистр текст определенного элемента редактирования. (Конечно, для этого можно установить свойство CharCase на ecUpperCase, но сейчас это нас не интересует.) Чтобы перевести все нажимаемые клавиши в верхний регистр, вы могли бы сделать в своем обработчике события OnKeyPress следующее:

Таким образом, вы изменяете сообщение прежде, чем оно будет послано VCL для обработки. Именно по этой причине параметры обработчика события часто передаются по ссылке.

Модифицируете ли вы один или несколько посылаемых параметров, пол­ностью зависит от сообщения и того, что вы предполагаете делать с этим сообщением. Через какое-то время вы, несомненно, столкнетесь с ситуациями, когда потребуется изменить конкретное сообщение, чтобы заставить Windows вести себя определенным образом. В других случаях вы вообще не будете изменять параметры, но проверите их значения для определения того, что происходит с вашим приложением. Поскольку существует неисчислимое ко­личество возможностей, я оставлю дальнейшее исследование параметров со­общения в качестве упражнения для читателя.

Web-дизайн (с) 2010 All rights reserved