Контекст пристрою структура даних Windows, що містить відомості про атрибути малювання пристроях, таких як відображення або принтер. Всі виконані малювання за допомогою об'єкта контексту устрою, який інкапсулює API Windows для малювання ліній, фігур і тексту. Контексти пристроїв є незалежною дозволяють створити в Windows. Контексти пристроїв можна використовувати для малювання на екрані, на принтер, або до метафайлу.
CPaintDC об'єкти інкапсулюють загальний є Windows, при виконанні функції BeginPaint. потім малювання в контексті пристрою, потім при виконанні функції EndPaint. Виклики конструктора BeginPaint``CPaintDC автоматично і виклики EndPaint деструктора. Спрощений процес створення об'єкта CDC. буде побудований, а потім видаляє об'єкт CDC. У платформі, багато хто навіть цього процесу автоматизовано. Зокрема, щоб функціональність OnDraw передається вже підготовленим CPaintDC (за допомогою OnPrepareDC), і потрібно просто зображуються в нього. Воно знищується платформою і основний контекст пристрою звільняється в Windows при поверненні з виклику функції OnDraw.
CClientDC об'єкти інкапсулюють робота з контекстом пристрою, який представляє тільки клієнтської області вікна. Виклики конструктора CClientDC функція GetDC і деструктор викликається функція ReleaseDC. CWindowDC об'єкти інкапсулюють контекст пристрою, що представляє всі вікна, включаючи його кадр.
CMetaFileDC об'єкти інкапсулюють малювання в метафайл Windows. На відміну від CPaintDC. переданого в OnDraw. з даними в цьому випадку необхідно викликати метод OnPrepareDC.
Більшість створити в програму структурної і таким чином все роботи пристрою контексту - це зроблено в функції-члені OnDraw уявлення. Однак можна як і раніше використовувати об'єкти контексту пристрою для інших цілей. Наприклад, щоб надати відгук відстеження для переміщення миші в поданні необхідно намальована безпосередньо в поданні без очікування OnDraw. призначивши.
У такому випадку можна використовувати об'єкт контексту устрою CClientDC намальована безпосередньо в поданні.