Stingray Grid transparenter Hintergrund
Frage
Stringray Raster , gibt es die Möglichkeit, einen transparenten Hintergrund zu verwenden, die das ermöglicht Hintergrund des Dialogs angezeigt durch das Gitter werden.
In der Dokumentation heißt es:
Aber Vorsicht; Sie sollten deaktivieren Scrollen oder Sie haben das Raster jedes Mal neu zu ziehen es (durch zwingende
DoScroll
) gescrollt wird.
Ich habe einen rollbaren gird und überschreiben die DoScroll
und stellen Sie sicher, dass ich Anruf Redraw
und auch versucht Invalidate
, aber das Gitter noch nicht vollständig ist und neu gezeichnet werden gelöscht werden.
Ich habe auch versuchte die alten Ziehverfahren unter Verwendung von m_bForceOldDrawing
zu TRUE
Einstellung.
Wie kann ich ein Raster, das einen transparenten Hintergrund hat, die korrekt nach einer Scroll malen, ohne Artefakte zu verlassen?
Lösung
Ja müssen Sie das Gitter neu gezeichnet durch DoScroll überschreiben, weil es nicht mehr ist Scroll mit Inhalt blättern, da der Hintergrund transparent ist.
Allerdings haben Sie jetzt Artefakte des Gitters über Ihren Hintergrund.
Das ist, weil der Hintergrund hinter dem Gitter ist nicht neu gezeichnet zu bekommen.
Haben Sie clipchildren Satz für die Eltern haben?
Ein weiteres mögliches Problem ist, dass der Hintergrund nicht gezogen wird, weil sie nicht erkennen, ist es ausgesetzt wurde.
Versuchen Sie, die Eltern mit dem folgenden Aufruf.
Parent.Invalidate (); Parent.UpdateWindow ();
vor dem Aufruf ...
Invalidate ();