instead of
Frame.Panel.OnPaint(XYZ)
try
Frame.Panel.Refresh()
In your timer notify. Refresh sets the panel to a "dirty" state, which is then set for repainting.
Also, you might be interested in replacing your wxPaintDC with wxAutoBufferedPaintDC which is a double-buffered version of it.
You simply use it as usual, and it sorts out the buffering. (or so they say!)
your create line would look like this :
Frame.Panel.OnPaint(XYZ)
try
Frame.Panel.Refresh()
In your timer notify. Refresh sets the panel to a "dirty" state, which is then set for repainting.
Also, you might be interested in replacing your wxPaintDC with wxAutoBufferedPaintDC which is a double-buffered version of it.
You simply use it as usual, and it sorts out the buffering. (or so they say!)
your create line would look like this :
DC = New wxAutoBufferedPaintDC.CreatePaintDC(DrawPanel)