Mozes da napravis panel za double buffering pa u njemu da crtas. Posto slabo znam C++.NET evo ti kod u C#.
Code:
public class PanelEx: Panel
{
public PanelEx()
{
this.SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw,
true);
this.UpdateStyles();
}
protected override void OnPaintBackground(PaintEventArgs e)
{
//base.OnPaintBackground(e);
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
// ovde odradis iscrtavanje
//base.OnPaint(e);
}
}
Kada zelis da forsiras novo iscrtavanje zoves Invalidate() nad panelex objektom da bi sistem sam pozvao Paint event i da bi dobio Graphics objekat od sistema (kao sto ti je i Nemanja preporucio).