Думаю, я понимаю, что произойдет, если я выберу «объект» в «контекст устройства», и если этот объект является кистью , шрифтом , пером : символы этих объектов в дальнейшем используются для рисования в контексте устройства.
Однако я не понимаю, что происходит после выбора растрового изображения в контексте устройства, не говоря уже о том, почему это необходимо.
У меня есть программа, которая кое-что делает
HDC dc = ::GetDC(hWnd);
ffBitmap = ::CreateCompatibleBitmap(dc, windowWidth, windowHeight);
ffMemoryDc = ::CreateCompatibleDC(dc);
hOldBitmap = (HBITMAP) ::SelectObject(ffMemoryDc, ffBitmap);
, а затем обращается к ffMemoryDc , а затем * BitBlt * s ffMemoyDc в контекст реального устройства окно.
BitBlt ( dc,
0, 0, windowWidth, windowHeight,
ffMemoryDc,
0, 0,
SRCCOPY
);
Переменная ffBitmap не упоминается больше нигде во всей программе, однако, если я не использую SelectObject (ffBitmap), ничего не будет отрисовано, поэтому это необходимо.
Я был бы признателен, если бы кто-нибудь пролил свет на то, что здесь происходит.