supongo que entiendo lo que sucede si selecciono "un objeto" en una "contect dispositivo", y si este objeto es un cepillo , fuente, pluma: se utilizan de ahora en adelante Los charactersicts de estos objetos para el dibujo en el contexto del dispositivo.¿Qué hace SelectObject (dc, hBMP)?
Sin embargo, no entiendo qué sucede después de seleccionar un mapa de bits en el contexto del dispositivo, y mucho menos, por qué es necesario hacerlo.
que tienen un programa que hace somehwere
HDC dc = ::GetDC(hWnd);
ffBitmap = ::CreateCompatibleBitmap(dc, windowWidth, windowHeight);
ffMemoryDc = ::CreateCompatibleDC(dc);
hOldBitmap = (HBITMAP) ::SelectObject(ffMemoryDc, ffBitmap);
y más tarde atrae hacia el ffMemoryDc y luego * * s BitBlt la ffMemoyDc en el contexto de dispositivo reales de una ventana.
BitBlt (dc,
0, 0, windowWidth, windowHeight,
ffMemoryDc,
0, 0,
SRCCOPY
);
La variable ffBitmap está referenciado en ningún otro lugar en todo el programa, sin embargo, si no lo hago SelectObject (ffBitmap), no se dibuja nada, por lo que es necesario.
Agradecería que alguien pudiera arrojar algo de luz sobre lo que sucede aquí.
Piense en ello como un sello de goma. Creado por SelectObject, aplicado con BitBlt. La indirección adicional es importante. –