На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Processing the WM_DRAWITEM Message



An owner-drawn combo box sends the WM_DRAWITEM message to its parent window or dialog box procedure each time the application must repaint a list item. The lParam parameter points to a DRAWITEMSTRUCT structure that identifies the control and list item. It also contains information needed to paint the item.

The example in Creating a Square Meal Dialog Box displays the list-item text and the bitmap associated with the food group. If the item has the focus, it also draws a focus rectangle. Before displaying the text, the example sets the foreground and background colors, based on the item selected. Because the combo box has the CBS_HASSTRINGS style, the combo box maintains the text for each list item that can be retrieved using the CB_GETLBTEXT message.

The bitmaps used for the list item depend on the food group. InitGroupList uses the CB_SETITEMDATA message to associate a constant with each list item, identifying the corresponding food group. The window procedure uses this value, contained in the itemData member of the DRAWITEMSTRUCT structure, to determine which bitmaps to display. The system uses two bitmaps for each food group symbol: a monochrome bitmap with the SRCAND raster operation to erase the irregular region behind the image, and a color bitmap with the SRCPAINT raster operation to paint the image.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Обработка Сообщения WM_DRAWITEM



Сделанный владелец combo ящик посылает сообщению WM_DRAWITEM в свое родительское окно или диалоговую процедуру ящика всякий раз, когда приложение должно перекрасить пункт списка. Параметр lParam указывает на структуру DRAWITEMSTRUCT, которая идентифицирует управление и указывает пункт. Это также содержит информацию, которой нужно закрашивать пункт.

Пример на Создании Диалогового Блока Квадратной Еды отображает список-пункт текста и побитовое отображение связанные продовольственной группой. Если пункт имеет фокус, он также делает прямоугольником фокуса. Прежде, чем отобразить текст, пример устанавливает передний план и цвета фона, основанные в пункте выбранном. Поскольку блок combo имеет стиль CBS_HASSTRINGS, блок combo поддерживает текст для каждого пункта списка, который может быть извлечен используя сообщение CB_GETLBTEXT.

Побитовые отображения использованные для пункта списка зависят от продовольственной группы. InitGroupList ИСПОЛЬЗУЕТ сообщение CB_SETITEMDATA, чтобы соединять константе с каждым пунктом списка, установления соответствующей продовольственной группы. Процедура окна использует эту величину, содержимую в элементе itemData структуры DRAWITEMSTRUCT, чтобы определять какие побитовые отображения, чтобы отображать. Система использует два побитовых отображения для каждого продовольственного группового символа: монохромное побитовое отображение с растровой операцией SRCAND, чтобы стирать нерегулярной области за образом, и цветным побитовым отображением с растровой операцией SRCPAINT, чтобы закрашивать образ.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz