0

Stringray grid中,可以使用透明背景,允许通过网格显示对话框的背景。

在文档中它指出:

不过要小心; 您应该禁用滚动,或者每次滚动时都必须重新绘制网格(通过覆盖DoScroll)。

我有一个可滚动的网格并覆盖DoScroll并确保我调用Redraw并尝试过Invalidate,但是网格仍然没有完全擦除和重绘。

我还尝试通过设置m_bForceOldDrawing为使用旧的绘图方法TRUE

如何创建一个具有透明背景的网格,在滚动后正确绘制而不留下伪影?

4

1 回答 1

0

是的,您必须通过覆盖 DoScroll 来重绘网格,因为它不再使用 ScrollWindow 来滚动内容,因为背景是透明的。

但是,您现在在背景上有网格的伪影。

这是因为网格后面的背景没有被重绘。

你为父母设置了clipchildren吗?

另一个潜在的问题是背景没有被绘制,因为它没有意识到它已经被曝光。

尝试使用以下方式呼叫父母。

Parent.Invalidate(); Parent.UpdateWindow();

打电话之前...

无效();

于 2011-01-27T22:43:51.523 回答