Um Flicker loszuwerden, verwende ich WxBufferedPaintDC anstelle von WxPaintDC. Aber da kommt ein Problem. Um in meiner Paint-Funktion eine kubische Beizer-Kurve zu zeichnen, muss ich GetGraphicsContext verwenden, um einen Pfad zu erstellen. Meine Frage ist, warum GetGraphicsContext einen NULL-Zeiger zurückgibt, wenn wxBufferedPaintDC verwendet wird.wxBufferedPaintDC GetGraphicsContext return Nullzeiger
void DotGraphView::OnPaint(wxPaintEvent & WXUNUSED(evt))
{
wxBufferedPaintDC dc(this);
PrepareDC(dc);
PaintBackground(dc);
wxGCDC &gdc = (wxGCDC&)dc;
wxGraphicsContext * gc = gdc.GetGraphicsContext(); /* here gc = NULL */
wxGraphicsPath path = gc->CreatePath(); /* program collapses here */
...
}
Ich lese die Seite, aber es funktioniert nicht. – allenchen