我想我确实理解如果我将"一个对象"选择到"设备事件"中会发生什么,并且如果这个对象是画笔,字体,笔:这些对象的特征因此用于绘制到设备上下文中.
但是,我不明白在我选择位图到设备上下文后会发生什么,更不用说,为什么有必要这样做.
我有一个程序,有些人做了
HDC dc = ::GetDC(hWnd);
ffBitmap = ::CreateCompatibleBitmap(dc, windowWidth, windowHeight);
ffMemoryDc = ::CreateCompatibleDC(dc);
hOldBitmap = (HBITMAP) ::SelectObject(ffMemoryDc, ffBitmap);
Run Code Online (Sandbox Code Playgroud)
然后绘制到ffMemoryDc然后*BitBlt*s ffMemoyDc进入窗口的 真实设备上下文.
BitBlt ( dc,
0, 0, windowWidth, windowHeight,
ffMemoryDc,
0, 0,
SRCCOPY
);
Run Code Online (Sandbox Code Playgroud)
变量ffBitmap在整个程序中没有其他地方引用,但是,如果我不选择SelectObject(ffBitmap),则不会绘制任何内容,因此这是必要的.
如果有人能说清楚这里发生的事情,我会很感激.
| 归档时间: |
|
| 查看次数: |
3849 次 |
| 最近记录: |