Программирование PC Visual Studio C++: как рисовать на окне MFC dialog-based программы Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


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.

 

Добавить комментарий


Защитный код
Обновить

Top of Page