Credo di capire che cosa accade se si seleziona "un oggetto" in un "Contect dispositivo", e se questo oggetto è un spazzola, carattere, penna: Le charactersicts di questi oggetti sono quindi via usati per il disegno sul contesto del dispositivo.Cosa fa SelectObject (dc, hBMP)?
Tuttavia, non capisco cosa succede dopo aver selezionato una bitmap nel contesto del dispositivo, molto meno, perché è necessario farlo.
Ho un programma che fa più perché
HDC dc = ::GetDC(hWnd);
ffBitmap = ::CreateCompatibleBitmap(dc, windowWidth, windowHeight);
ffMemoryDc = ::CreateCompatibleDC(dc);
hOldBitmap = (HBITMAP) ::SelectObject(ffMemoryDc, ffBitmap);
e successivamente disegna fino alla ffMemoryDc e poi * BitBlt * s il ffMemoyDc nel contesto di periferica reale di una finestra.
BitBlt (dc,
0, 0, windowWidth, windowHeight,
ffMemoryDc,
0, 0,
SRCCOPY
);
La variabile ffBitmap viene fatto riferimento in nessun altro luogo in tutto il programma, ma, se non lo faccio SelectObject (ffBitmap), niente è tratto, in modo è necessario.
Sarei grato se qualcuno potesse far luce su cosa succede qui.
Pensatelo come un timbro di gomma. Creato da SelectObject, applicato con BitBlt. L'indirezione aggiuntiva è importante. –