Будем дальше работать с нашим проектом. Есть такая поговорка - родителей не выбирают. Но если папа миллионер это круто. Классу 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 умеет их выводить на контекст устройства.