在Stringray grid中,可以使用透明背景,允许通过网格显示对话框的背景。
在文件中说明:
但要小心;你应该禁用滚动,或者你必须在每次滚动时重绘网格(通过覆盖
DoScroll
)。
我有一个可滚动的网格并覆盖DoScroll
,并确保我调用Redraw
并尝试Invalidate
,但网格仍然没有完全删除和重绘。
我还尝试将m_bForceOldDrawing
设置为TRUE
来使用旧的绘图方法。
如何创建一个透明背景的网格,在滚动后正确绘制而不会留下伪影?
答案 0 :(得分:0)
是的,您必须通过覆盖DoScroll来重绘网格,因为它不再使用ScrollWindow滚动内容,因为背景是透明的。
但是现在你的背景上有网格的工件。
这是因为网格背后的背景没有重新绘制。
你是否为父母设置了clipchildren?
另一个潜在的问题是背景没有被绘制,因为它没有意识到它已被曝光。
尝试使用以下内容调用父级。
Parent.Invalidate(); Parent.UpdateWindow();
在致电之前...
的Invalidate();