seems that we can't put the child windows transparent and use the alpha(only with windows 8 and above).
but theres another way that i'm trying do:
Code:
case WM_ERASEBKGND:
            {
                if (inst->blnTransparent==true)
                {
                    HDC mdc = CreateCompatibleDC(NULL);//creating the doublebuffer
                    Size a=inst->GetSize();//get the control size
                    Position b=inst->GetPosition();//get ocntrol position
                    HBITMAP mbmp =  CreateBitmap(a.Width,a.Height,1,24,NULL); //create the bimap with a size
                    HBITMAP moldbmp = (HBITMAP)SelectObject(mdc,mbmp);//select the DC from that bitmap
                    HDC labeldc=GetDC(inst->hwnd);//get the label DC
                    BitBlt(mdc,0,0,a.Width,a.Height,GetDC(GetParent(inst->hwnd)),b.X, b.Y,SRCCOPY);//copy the parent control
                    TransparentBlt(mdc,0,0,a.Width,a.Height,labeldc,0,0,a.Width,a.Height,(UINT)inst->clrBackColor);//copy the label DC to mdc(double buffer), without backcolor
                    BitBlt(GetDC(inst->hwnd),0,0,a.Width,a.Height,mdc,b.X, b.Y,SRCCOPY);//now copy the double buffer to label dc
                    //clean objects
                    SelectObject(mdc,moldbmp);
                    DeleteObject(mbmp);
                    DeleteDC(mdc);
                    return (LONG)CreateSolidBrush(NULL_BRUSH);
                }

            }
            break;
or i get the DC (from parent) incorrect, or i miss something
the result is a black rectangle.
can anyone advice me?