| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Помогите с OnPaint и CPaintDC |
| Автор: servernyOlen 14.5.2006, 14:48 |
| Упрощенно задача звучит так - в зависимости от нажатой на диалоге кнопки (значение хранится перем btnPressed ) рисуется соответствующая фигура. Создаю проект диалога, добавляю две кнопки и переменную. Переписываю OnPaint следующим образом: void CTestDlg::OnPaint() { if ( btnPressed == 1 ) { CPaintDC dc(this); dc.Ellipse(30, 30, 150, 70); } else if ( btnPressed == 2 ) { CPaintDC dc(this); dc.Ellipse(170, 30, 290, 70); }; } При нажатии любой из двух кнопок выводится соответствующая фигура и так и остается на окне, что бы в дальнейшем я ни нажимал. Подозреваю, что надо как-то очищать окно или контекст, но под рукой нету ни одного толкового учебника, диск с MSDN умер и надо срочно. |
| Автор: powerOn 14.5.2006, 15:02 |
| Нет MSDN? http://msdn2.microsoft.com/ |
| Автор: servernyOlen 15.5.2006, 00:15 |
Тема закрыта, добрые люди подсказали, что надо было добавить Invalidate() в обработчики кнопок. |