Совокупность API-функций, около 3000, позволяет управлять поведением ОС на уровне железа. Их создают все разработчики ОС.
Наиболее продуктивные API обычно закрыты. Работа с API выполняется на самом низком для компьютера уровне. Ни одна API не способна изменять пиксель на экране, если программа не получит контекст. При обработке всех сообщений нужно сначала получить контекст устройства.
WM_PAINT:
PAINTSTRUCT ps;
//Определение контекста устройства
hDC=BeginPain(hWnd, &ps);
//hDC – хедер на контекст. (=pointer) в нем будут координаты кода окна.
…. //Вывод на экран
EndPaint(hWnd, &ps);
Для остальных сообщений:
Case <имя сообщения>:
hDC =GetDC(hWnd);
или
hDC= GetWindowsDC(hWnd);
…. //Вывод на экран
ReleceseDC(hWnd, hDC);
Для работы по умолчанию используется Pen-черный цвет, 1 пиксель, Brush-белый цвет. Их изменение:
LNewPen=CreatePen(..);
LOldPen=SelectObject(..);
…. //Вывод на экран
SelectObject(hOldPen);
DeleteObject(…) \\ Очистка;
!!!Основная ошибка – забывают очистить heap.