【发布时间】:2009-04-13 23:35:17
【问题描述】:
Rainlendar 是一个用 wxWidgets 编写的出色的跨平台日历程序。它是如何实现透明效果的?有没有人有任何演示透明效果的示例代码?
【问题讨论】:
标签: wxwidgets
Rainlendar 是一个用 wxWidgets 编写的出色的跨平台日历程序。它是如何实现透明效果的?有没有人有任何演示透明效果的示例代码?
【问题讨论】:
标签: wxwidgets
我的猜测是他们可能会使用wxScreenDC 直接在屏幕上绘制(同时保留背景内容)。与接收绘制事件或擦除事件不同,您可以根据自己的选择在堆栈上创建wxScreenDC,这意味着您需要刷新自己(很可能通过某种计时器)。如果您不这样做,后台应用程序最终会在您的 wxScreenDC 内容上重新绘制自己。
编辑:澄清一下,用法(除了需要调用 StartDrawingOnTop 和 EndDrawingOnTop)与任何其他 wxDC 相同。
【讨论】:
wxTopLevelWindow::SetTransparent() 方法可能是你需要的。
【讨论】: