case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetWindowRect(hwnd,&rc);
memhdc=CreateCompatibleDC(hdc);
bitmapdc=CreateCompatibleDC(hdc);
oldbitmap=(HBITMAP)SelectObject(bitmapdc,hBitmap);
for(i=0;i<MAXN;i++)
{
for(j=0;j<MAXN;j++)
{
StretchBlt(memhdc,i*16,j*16,16,16,bitmapdc,0,hash[i][j].GetIsDo()*16,16,16,SRCCOPY);
}
}

TextOut(memhdc,0,0,TEXT("hello"),5);
BitBlt(hdc,0,0,rc.right-rc.left,rc.bottom-rc.top,memhdc,0,0,SRCCOPY);
SelectObject(bitmapdc,oldbitmap);
DeleteDC(bitmapdc);
DeleteDC(memhdc);
EndPaint(hwnd,&ps);
return 0;
我不用memhdc 直接在hdc上却能画出来 为什么 求指教