俩个内存DC间不能互相拷贝吗?

我想把位图缩小到按钮上,想法是先用StrerchBlt缩小到一个中间DC,然后再把中间DC输出到按钮上,结果一片空白,什么也没有
然后无意间直接把位图DC输出到按钮,结果好了
这是为什么呢?我的理解是HDC是一块画布的代号,StretchBlt是将另一块画布内容缩放后复制到另一个画布,BitBlt是将一个画布内容原封不动复制到另一个画布上
刚学这些,有点迷糊。

case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hwnd, &ps);
            HDC hdcMen = CreateCompatibleDC(hdc);
            HDC hdcSca = CreateCompatibleDC(hdc);
            BITMAP bmp;

            GetObject(hbitmap, sizeof(BITMAP), &bmp);
            SelectObject(hdcMen, hbitmap);
            //1.
            {
                StretchBlt(hdcSca, 0, 0, 500, 300,
                    hdcMen, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
                BitBlt(hdc, 0, 0, 50, 30, hdcSca, 0, 0, SRCCOPY);
            }
            //2.
            {
                StretchBlt(hdc, 0, 0, 500, 300,
                hdcMen, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
            }

            ReleaseDC(hwnd, hdc);
            DeleteDC(hdcMen);
            DeleteDC(hdcSca);
    
            EndPaint(hwnd, &ps);
            return 0;
        }

不能

DC是画板,图片是画布,画布要放在画板上才能画,画板上不放画布是抄不了别人的画的