0

Stringray gridには、透明な背景を使用する機能があり、ダイアログの背景をグリッドを通して表示できます。

ドキュメントには次のように記載されています。

ただし、注意してください。スクロールを無効にするか、スクロールするたびにグリッドを再描画する必要があります (オーバーライドすることによりDoScroll)。

私はスクロール可能なグリッドを持っていて、 をオーバーライドし、DoScrollを呼び出しRedrawて試したことを確認しInvalidateましたが、グリッドはまだ完全に消去および再描画されていません。

m_bForceOldDrawingに設定して、古い描画方法も使用してみましたTRUE

アーティファクトを残さずにスクロール後に正しくペイントする透明な背景を持つグリッドを作成するにはどうすればよいですか?

4

1 に答える 1

0

はい、DoScroll をオーバーライドしてグリッドを再描画する必要があります。これは、背景が透明であるため、ScrollWindow を使用してコンテンツをスクロールしなくなったためです。

ただし、背景の上にグリッドのアーティファクトがあります。

これは、グリッドの背後にある背景が再描画されていないためです。

親にclipchildrenを設定していますか?

もう 1 つの潜在的な問題は、背景が露出されたことを認識しないため、背景が描画されないことです。

次のように親に電話してみてください。

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

電話する前に…

無効化();

于 2011-01-27T22:43:51.523 に答える