На главную

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 | Скачать Вниз

Class Display Device Contexts



By using a class DC, an application can use a single display DC for every window belonging to a given class. Class DCs are often used with control windows that are drawn using the same attribute values. Like private DCs, class DCs minimize the time required to prepare a DC for drawing.

Windows supplies a class DC for a window if it belongs to a window class having the CS_CLASSDC style. Windows creates the DC when creating the first window belonging to the class and then uses the same DC for all subsequently created windows in the class. Initially, the class DC has the same default values for attributes as a common DC, but the application can modify these at any time. Windows preserves all changes, except for the clipping region and device origin, until the last window in the class has been destroyed. A change made for one window applies to all windows in that class.

An application can retrieve the handle for the class DC by using the GetDC function any time after the first window has been created. The application can keep and use the handle without releasing it because the class DC is not part of the display DC cache. If the application creates another window in the same window class, the application must retrieve the class DC again. Retrieving the DC sets the correct device origin and clipping region for the new window. After the application retrieves the class DC for a new window in the class, the DC can no longer be used to draw in the original window without again retrieving it for that window. In general, each time it must draw in a window, an application must explicitly retrieve the class DC for the window.

Applications that use class DCs should always call BeginPaint when processing a WM_PAINT message. The function sets the correct device origin and clipping region for the window, and incorporates the update region. The application should also call EndPaint to restore the caret if BeginPaint hid it. EndPaint has no other effect on a class DC.
Windows passes the class DC when sending the WM_ERASEBKGND message to the application, permitting the current attribute values to affect any drawing carried out by the application or Windows when processing this message. Windows supplies a window DC with the WM_ICONERASEBKGND message regardless of whether the corresponding window has a class DC. As it could with a window having a private DC, an application can use GetDCEx to force Windows to return a common DC for the window that has a class DC.

Using class DCs is not recommended.


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

Контексты Дисплейного Устройства Класса



Используя класс DC, приложение может использовать единственный показ DC для каждого окна, принадлежащего данному классу. Класс DCs часто использован управляющим окном, которое сделано используя те же вспомогательные величины. Подобно частному DCs, класс DCs минимизирует время требовавшееся, чтобы подготавливать DC к чертежу.

Окно поставляет классу DC для окна если оно принадлежит классу окна, имеющему стиль CS_CLASSDC. Окно создает DC при создании сначала окно, принадлежащее классу затем использует тот же DC для всего впоследствии созданного окна в классе. Первоначально, класс DC имеет то же значение по умолчанию для атрибутов как общий DC, но приложение может модифицировать его в любое время. Окно сохраняет все изменения, за исключением вырезать региона и начала устройства, пока последнее окно в классе не уничтожено. Изменение сделанное для одного окна относится ко всему окну в этом классе.

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

Приложения, которые используют класс DCs должно всегда вызывать BeginPaint при обработке сообщения WM_PAINT. Функция устанавливает правильное начало устройства и отсечения региона для окна и включает регион коррекции. Приложение должно также вызывать EndPaint, чтобы восстанавливать символ ^ если BeginPaint прятал бы это. EndPaint НЕ имеет другой эффект в классе DC.
Окно передает класс DC при посылке сообщения WM_ERASEBKGND на приложение, разрешающем текущие вспомогательные величины, чтобы влиять на любой чертеж выполненный приложением или Окном при обработке этого сообщения. Окно обеспечивает окну DC сообщением WM_ICONERASEBKGND независимо от того, что соответствующее окно имеет класс DC. Как это могло с окном, имеющим частный DC, приложение может использовать GetDCEx, чтобы заставлять Окно, чтобы возвращать общий DC для окна, что имеет класс DC.

Использование класса DCs не рекомендовано.


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