i tryied several ways and nothing works perfectly(i found 1 way that gives me a 'flicker').
i have 2 child controls:
1 - label: that uses a timer for animation(using Invalidate());
2 - a tooltip: when is showed, the control is on top most. but when the label is re-painted, isn't on top most.
so what is the best way for put a child control always on top?
nothing about Z-order, i belive. if i use a timer with SetWindowPos(), will be ignored. if i do ShowWindow() with SW_MINIMIZATE and then with SW_RESTORE(using a timer), i get like a flicker, but works.
the WM_WINDOWPOSCHANGED message is activated, too, when the Z-Order is changed.
after more tests i found 1 strange thing: the MSND tells us for return TRUE, when we must do a transparent control(and for avoid the flicker). but, by some reason, the it can change the Z-Order. why these happens?