| Visual Studio C++: как рисовать на окне MFC dialog-based программы |   | 
	| Добавил(а) microsin | 
| Процесс по шагам (на примере класса диалогового окна CmyDlg). 1. 
void CmyDlg::OnPaint() 
{
   //Рисуем черный кружок с закрашенной внутри областью белым
   // цветом (параметры пера и кисти по умолчанию).
   RECT ellipse;
   CPaintDC dc(this);
   ellipse.top  = 1;
   ellipse.left = 3;
   ellipse.bottom = 1+5;
   ellipse.right  = 3+5;
   dc.Ellipse(&ellipse);
   //Рисуем квадратик с красным бордюром (сменим перо)
   // и зеленой закрашенной областью (сменим кисть).
   CPen aPen;
   aPen.CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
   CPen *pOldPen = dc.SelectObject(&aPen);
   CBrush aBrush;
   aBrush.CreateSolidBrush(RGB(0, 255, 0));
   CBrush *pOldBrush = dc.SelectObject(&aBrush);
   dc.Rectangle(50,100,60,110);
   //Восстанавливаем старые перо и кисть.
   dc.SelectObject(pOldPen);
   dc.SelectObject(pOldBrush);
   ...
}
 2. Чтобы принудительно перерисовать окно, нужно вызвать Invalidate(). Внимание! Вышеуказанное рисование работает только в методе OnPaint, к которому привязано сообщение WM_PAINT. |