|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Owner-Drawn Menus and the WM_DRAWITEM Message
Whenever the item must be drawn (for example, when it is first displayed or when the user selects it), Windows sends the WM_DRAWITEM message to the window procedure of the menu's owner window. This message contains a pointer to a DRAWITEMSTRUCT structure, which contains information about the item, including the item data that an application may have assigned to it. In addition, DRAWITEMSTRUCT contains flags that indicate the state of the item (such as whether it is grayed or checked) as well as a bounding rectangle and a device context that the application uses to draw the item.
An application must do the following while processing the WM_DRAWITEM message:
1. Determine the type of drawing that is necessary. To do so, check the itemAction member of the DRAWITEMSTRUCT structure. 2. Draw the menu item appropriately, using the bounding rectangle and device context obtained from the DRAWITEMSTRUCT structure. The application must draw only within the bounding rectangle. For performance reasons, Windows does not clip portions of the image that are drawn outside the rectangle. 3. Restore all GDI objects selected for the menu item's device context.
If the user selects the menu item, Windows sets the itemAction member of the DRAWITEMSTRUCT structure to the ODA_SELECT value and sets the ODS_SELECTED value in the itemState member. This is an application's cue to redraw the menu item to indicate that it is selected.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
МЕНЮ Owner-Drawn и Сообщение WM_DRAWITEM
Всякий раз, когда пункт должен быть сделан (например, когда он сначала отображен или когда пользователь выбирается это), Windows посылает сообщение WM_DRAWITEM в процедуру окна окна владельца меню. Это сообщение содержит указатель в структуру DRAWITEMSTRUCT, который содержит информацию о пункте, включая данные пункта, что приложение может назначиться этому. Кроме того, DRAWITEMSTRUCT содержит флаги, которые указывают состояние пункта (как например, независимо это grayed или проверены), а также прямоугольник bounding и контекст устройства, что приложение использует, чтобы делать пунктом.
Приложение должно делать следующее при обработке сообщения WM_DRAWITEM:
1. Определите тип чертежа, который необходим. Для того, чтобы делать так, проверьте элемент itemAction структуры DRAWITEMSTRUCT. 2. Сделайте пунктом меню соответственно, используя прямоугольник bounding и контекст устройства получал из структуры DRAWITEMSTRUCT. Приложение должно сделать только в пределах прямоугольника bounding. Для причин исполнения, Windows не вырезает части образа, который сделан за пределами прямоугольника. 3. Восстановите все объекты GDI выбранные для контекста устройства пункта меню.
Если пользователь выбирается пункт меню, Windows устанавливает элемент itemAction структуры DRAWITEMSTRUCT в величину ODA_SELECT и устанавливает величину ODS_SELECTED в элементе itemState. Это - приложение cue, чтобы перерисовывать пункт меню, чтобы указывать, что выбрано.
|
|
|
|
| |