• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Как Избавиться От Мерцания При Прорисовке?

  • Автор темы savedata
  • Дата начала
S

savedata

суть программы: на форме создал панель Panel и на ней рисую фигуру статическую, и точку которая двигается за курсором

C++:
mouseMovePanel(object sender, MouseEventArgs e){mousePlace(e.X, e.Y);} //двигаю мышкой по панели - получаю координаты курсора
mousePlace(int x, int y){X=x; Y=y; panel.Refresh();} //делаю небольшие преобразования с координатами, делаю Refresh панели
drawObject(Graphics g){g.DrawLine(p, x, y);} //метод прорисовки объекта
drawPoint(Graphics g){point.AddEllips(X, Y, 1, 1); g.DrawPath(p, point);} //метод прорисовки точки с координатами (X, Y)
panel_Paint(object sender, PaintEventArgs e){drawObject(e.Graphics); drawPoint(e.Graphics);} //рисую на панели

при движении мышкой все мерцает! как от этого избавиться?
 
A

a0z

Читай про двойную буферизацию

link removed
 
G

Guest

В случае с контролами помогает установка DoubleBuffered = true; В случае ручной прорисовки - аналогично надо делать двойную буферизацию.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!