Главная » Delphi » Нестандартные сообщения

0

До сих пор обсуждались обычные сообщения Windows (начинающиеся префиксом WM_XXX). Теперь обсудим  две другие  немаловажные категории: уведомляющие сооб щения и пользовательские сообщения.

Уведомляющие сообщения

Уведомляющие сообщения (notification messages), или уведомления (notifications), пред

ставляют собой сообщения, посылаемые родительскому окну в том случае, когда в од ном  из его  дочерних элементов управления происходит нечто, заслуживающее вни мания  родителя. Эти сообщения рассылаются только  стандартными элементами управления Windows  (кнопки, списки, раскрывающиеся списки, поля  редактирова ния)  и общими элементами управления Windows (дерево объектов, список  объектов и т.п.).  Щелчок или двойной щелчок  на элементе управления, выбор  текста  в поле  ре дактирования или перемещение ползунка  полосы прокрутки — вот примеры событий, посылающих уведомляющие сообщения.

Обработка уведомлений осуществляется с помощью соответствующих процедур обработки, принадлежащих той форме, в которой содержится данный элемент управ ления.  В табл. 3.2 приведен список  уведомляющих сообщений  для стандартных эле ментов управления Win32.

Таблица 3.2. Уведомления стандартных элементов управления

Уведомление                                               Смысл

Уведомления кнопки

BN_CLICKED                 Пользователь щелкнул на кнопке BN_DISABLE     Кнопка переведена в неактивное состояние BN_DOUBLECLICKED           Пользователь дважды щелкнул на кнопке BN_HILITE     Пользователь выделил  кнопку

BN_PAINT                   Кнопка должна быть перерисована

BN_UNHILITE                Выделение кнопки должно быть отменено

Уведомления раскрывающегося списка

CBN_CLOSEUP                Раскрытый список был закрыт пользователем CBN_DBLCLK Пользователь дважды щелкнул на строке CBN_DROPDOWN               Список  был раскрыт

CBN_EDITCHANGE             Пользователь изменил текст в поле ввода CBN_EDITUPDATE Требуется вывести измененный текст CBN_ERRSPACE               Элементу управления не хватает памяти CBN_KILLFOCUS  Список  потерял фокус ввода CBN_SELCHANGE              Выбран  новый  элемент списка

CBN_SELENDCANCEL           Пользователь отказался от сделанного им выбора

CBN_SELENDOK               Выбор пользователя корректен

CBN_SETFOCUS      Список  получил фокус вводаОкончание табл. 3.2.

Уведомление                                               Смысл

Уведомления поля ввода

EN_CHANGE                  Требуется обновление после внесения изменений

EN_ERRSPACE                Элементу управления не хватает памяти

EN_HSCROLL             Пользователь  щелкнул   на   горизонтальной  полосе прокрутки

EN_KILLFOCUS               Поле ввода потеряло фокус ввода EN_MAXTEXT    Введенный текст был обрезан EN_SETFOCUS                           Поле ввода получило фокус ввода EN_UPDATE    Требуется отображение введенного текста

EN_VSCROLL             Пользователь щелкнул на вертикальной полосе прокрутки

Уведомления списков

LBN_DBLCLK                 Пользователь дважды щелкнул на строке LBN_ERRSPACE  Элементу управления не хватает памяти LBN_KILLFOCUS              Список  потерял фокус ввода LBN_SELCANCEL     Отмена выделения

LBN_SELCHANGE              Изменение выделения

LBN_SETFOCUS      Список  получил фокус ввода

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии