Moin zusammen,
ich hoffe ich stelle hier nicht eine Frage die es schon als Antwort gibt. Gesucht hatte ich schon.
Ausgangssituation:
Ich nutze die
GDI+ Library von
www.bilsen.com/gdiplus und schreibe derzeit eine Komponente die Objekte (Shapes) z.B. filledRectangles mit Verbindungslinien erstellt, Datenbank gebunden.
Das Zeichnen funktioniert soweit ganz gut. Was mir noch nicht klar ist, muss ich immer alles neu Zeichnen, wenn ich ein Shape verschiebe?
Bislang mache ich folgendes bei
MouseDown: Objekt identifizieren (Hit) und merken
MouseMove: Objekt löschen und mit neuen Koordinaten von der Mousebewegung neu zeichnen, da aber noch einige Linien daran hängen und Linien durch Objekte laufen, zeichne immer alles neu. Das führt zu flackern trotz doublebuffered.
Fragen:
- Muss ich für alles sogenannte Kollisionabfragen machen, damit ich feststellen kann, welche Objekte ich neu zeichnen muss (reduzierte Menge).
- Gibt es bei
GDI+ so etwas wie zeichnen mit Penmode mit Copy, XOR
Würde mich freuen wenn ihr Ratschläge habt die auch mit
GDI+ funktionieren.