Have you tried using CImage or the GdiPlus::Bitmap class to load the png? Then you should be able to use the associated HBITMAP, selected into the dcMem and use UpdateLayeredWindow() like this: blend.BlendOp = AC_SRC_OVER; blend.BlendFlags = 0; blend.SourceConstantAlpha = 255; blend.AlphaFormat = AC_SRC_ALPHA; UpdateLayeredWindow(hwnd, NULL, NULL, NULL, dcMem, NULL, 0, &blend, LWA_ALPHA);
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder