草庐IT

UpdateLayeredWindow

全部标签

c# - 调整窗口大小导致黑条

我有一个表单,它在构造函数中设置这些样式:this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);this.SetStyle(ControlStyles.UserPaint,true);this.SetStyle(ControlStyles.ResizeRedraw,true);this.SetStyle(ControlStyles.OptimizedDoubleBuffer,true);然后我在Paint事件中绘制了一些矩形。窗体上没有控件。然而,当我调整表格大小时,表格右侧和底部有黑色条纹。有什么办法可以摆脱它们吗?我什么都试过

c++ - 在窗口区域上使用 UpdateLayeredWindow

我正在使用UpdateLayeredWindow创建一个分层窗口,并且我已经为子控件实现了绘图逻辑。我的问题是每次uI发生变化时,整个框架都需要重新绘制。我想知道是否有一种方法可以只重绘窗口的特定CRect或CRgn(即,将相关的CDC传递到UpdateLayeredWindow,但指定您想要invlidated的CRect)。使用UpdateLayeredWindowIndirect并将UPDATELAYEREDWINDOWINFO结构中的prcDirtyCRect设置为控件的客户区是否会导致仅更新该区域? 最佳答案 psize和