Будем дальше работать с нашим проектом. Есть такая поговорка - родителей не выбирают. Но если папа миллионер это круто. Классу CPaintDC с папой очень повезло, папа CDC дал ему все, все что нужно, чтобы хорошо себя чувствовать в семье MFC.
Мы будем мучить OnPaint(), этой функции не повезло, и мы её задергаем, и Windows будет обращаться к ней часто. Я буду приводить примеры кода, вы их по очереди вставляйте и смотрите результат.
Вывести строку:
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.TextOut( 200, 200,"TextOut Samples"); }
Вывести точку, смотрите внимательно, ну маленькая она и чем выше разрешение экрана, тем меньше.
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.SetPixel(500,200,RGB(255,0,0)); }
Дуга окружности:
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.Arc(200,200,100,100,400,400,10,10); }
Замкнутая дуга:
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.Chord(250,250,100,100,400,400,10,10); }
Эллипс:
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.Ellipse(450,450,50,150); }
Линия:
void CMainWnd::OnPaint() { CPaintDC dc(this); dc.MoveTo(200,200); dc.LineTo(100,100); }
Функций очень много, это естественно маленькая часть. Но она показывает принцип, что примитивов очень много. И CPaintDC умеет их выводить на контекст устройства.