UpdateLayeredWindow zeichnet nicht neu ohne psize parameter
-
Hi!
Warum zeichnet UpdateLayeredWindow den Inhalt nicht neu, wenn psize nicht angegeben wird?
Laut Doku http://msdn.microsoft.com/en-us/library/windows/desktop/ms633556(v=vs.85).aspx muss man es nicht angeben, wenn die Fenstergröße sich nicht ändert.
// In backBufferDc zeichnen... dann Update mit size POINT dcPos = { }; SIZE size = { 800, 600 }; BLENDFUNCTION blendFunction = { }; blendFunction.BlendOp = AC_SRC_OVER; blendFunction.SourceConstantAlpha = 255; blendFunction.AlphaFormat = AC_SRC_ALPHA; UpdateLayeredWindow(windowHandle, 0, 0, &size, backBufferDc, &dcPos, 0, &blendFunction, ULW_ALPHA); // OK, Inhalt wurde erneuert // Wieder in backBufferDc zeichnen... dann Update ohne size UpdateLayeredWindow(windowHandle, 0, 0, 0, backBufferDc, &dcPos, 0, &blendFunction, ULW_ALPHA); // Inhalt wurde nicht erneuert! Nur wenn &size angegeben wird, wird erneuert.
-
Anyone?
-
Vermutlich wird eine andere Message erzeugt die dann anders (oder hier evtl. auch garnicht) gehandled wird.