Rainlendar is a fantastic cross platform calendar program that is written with wxWidgets. How does it achieve the transparency effect? Does anyone have any example code which demonstrates the transparency effect?
+3
A:
My guess is that they could be using a wxScreenDC
to draw directly to the screen (while preserving the background contents). Unlike receiving paint events or erase events, you create a wxScreenDC
on the stack at your choosing, which means that you need to refresh yourself (most likely via a timer of some sort). If you don't, background applications will eventually repaint themselves over your wxScreenDC
contents.
EDIT: Just to clarify, usage (besides the need to call StartDrawingOnTop and EndDrawingOnTop) is identical to any other wxDC
.
GRB
2009-04-14 06:51:37
SetTransparent makes the whole window transparent. The idea with this calendar (it appears) is that it draws fully opaque images onto transparent backgrounds (SetTransparent would make everything equally transparent).
GRB
2009-04-14 15:43:11