void fun(HDC hdc)
{
HDC memdc;
HBITMAP hNewBmp; memdc = CreateCompatibleDC(hdc);
hNewBmp = CreateCompatibleBitmap(hdc, 50, 50);
hOrigBmp = GetCurrentObject(memdc, OBJ_BITMAP);
SelectObject(memdc, hNewBmp);
BitBlt(memdc, 0, 0, 50, 50, hdc, 0, 0, SRCCOPY);
return;
}上面代码中,为什么必须为memdc创建一个新位图后BitBlt函数才有效呢?如果像下面这样,直接用memdc的最初位图,BitBlt函数就没有效果,为什么呢??? memdc = CreateCompatibleDC(hdc);
BitBlt(memdc, 0, 0, 50, 50, hdc, 0, 0, SRCCOPY);
{
HDC memdc;
HBITMAP hNewBmp; memdc = CreateCompatibleDC(hdc);
hNewBmp = CreateCompatibleBitmap(hdc, 50, 50);
hOrigBmp = GetCurrentObject(memdc, OBJ_BITMAP);
SelectObject(memdc, hNewBmp);
BitBlt(memdc, 0, 0, 50, 50, hdc, 0, 0, SRCCOPY);
return;
}上面代码中,为什么必须为memdc创建一个新位图后BitBlt函数才有效呢?如果像下面这样,直接用memdc的最初位图,BitBlt函数就没有效果,为什么呢??? memdc = CreateCompatibleDC(hdc);
BitBlt(memdc, 0, 0, 50, 50, hdc, 0, 0, SRCCOPY);
后memdc中还没有bitmap