Stingray griglia sfondo trasparente
Domanda
Stringray griglia , v'è la possibilità di utilizzare uno sfondo trasparente che consente sfondo della finestra di dialogo da visualizzare attraverso la griglia.
Nella documentazione si legge:
Ma attenzione; è necessario disattivare lo scorrimento o si deve ridisegnare la griglia ogni volta che viene fatto scorrere (sovrascrivendo
DoScroll
).
Ho un gird scorrevole e sovrascrivere il DoScroll
e assicurarsi Redraw
ho chiamata e Invalidate
anche provato, ma la griglia non è ancora completamente cancellando e ridisegnando.
Ho anche provato utilizzando il vecchio metodo di disegno modificando m_bForceOldDrawing
a TRUE
.
Come posso creare una griglia che ha uno sfondo trasparente che dipingere correttamente dopo un rotolo senza lasciare artefatti?
Soluzione
Sì, bisogna ridisegnare la griglia sovrascrivendo DoScroll perché non è più sta usando ScrollWindow per scorrere i contenuti perché lo sfondo è trasparente.
Tuttavia ora avete artefatti della griglia sopra il vostro sfondo.
Questo è perché lo sfondo dietro la griglia non è sempre ridisegnato.
Hai impostato clipchildren per il genitore?
Un altro potenziale problema è che lo sfondo non è in corso di definizione, perché non si rende conto che è stato esposto.
Prova chiamando il genitore con il seguente.
Parent.Invalidate (); Parent.UpdateWindow ();
prima di chiamare ...
Invalidate ();