Во время реализации виртуального окна используется несколько функций.
Создание совместного контекста обеспечивает функция CreateCompatibleDC ():
virtual BOOL СDC :: CreateCompatibleDC (CDC * pDC);
Избрание объектов в контекст устройства - функция SelectOblect ():
CPen * СDC :: SelectObject (CPen * pPen);
CBrush * СDC :: SelectObject (CBrush * pBrush);
virtual CFont * СDC :: SelectObject (CFont * pFont);
CBitmap * СDC :: SelectObject (CBitmap * pBitmap);
int СDC :: SelectObject (CRgn * pRgn);
Эти две функции уже описывались ранее.
Создание растрового изображения, совместимого с контекстом устройства, обеспечивает функция CreateCompatibleBitmap ():
BOOL CBitmap :: CreateCompatibleBitmap (CDC * pDC, int nWidth, int nHeight);
Здесь параметрами являются: pDC - указатель на контекст устройства, к которому создается совместное изображение, nWidth и nHeight соответственно ширина и высота растрового изображения. Растровое изображение необходимо для физического хранения информации, которая выводится в виртуальное окно.
Виртуальное окно заполняется тем самым фоном, и физическое окно. Для такой совместимости растровое изображение, соответствующее виртуальном окну, заполняется функцией PatBlt (), которая заполняет прямоугольную область в соответствии с цветом и стиля текущего кисти.
BOOL СDC :: PatBlt (int x, int y, int nWidth, int nHeight, DWORD dwRop);
Здесь параметрами являются: (x, y) - координаты верхнего левого угла окна, Width и Height - ширина и высота прямоугольной области заполнения, dwRop - способ заполнения.