【发布时间】:2019-06-11 10:27:27
【问题描述】:
我想创建一个类,它在运行时生成一些位图,然后根据请求在目标设备的上下文中绘制它们。
我试试这个:
myBitmaps.h
#include <windows.h>
class myBitmaps
{
public:
void myBitmaps(HDC hDC);
const int size = 16;
HDC firstDC;
HBITMAP firstBuff;
HDC secondDC;
HBITMAP secondBuff;
void drawBitmap(HDC hDC, int xPos, int yPos, bool first);
}
myBitmaps.cpp
#include "myBitmaps.h"
void myBitmaps(HDC hDC)
{
firstDC = CreateCompatibleDC(hDC);
firstBuff = CreateCompatibleBitmap(hDC, size, size);
SelectObject(firstDC, firstBuff);
...draw some lines...
secondDC = CreateCompatibleDC(hDC);
secondBuff = CreateCompatibleBitmap(hDC, size, size);
SelectObject(secondDC, secondBuff);
...draw some lines...
}
void drawBitmap(HDC hDC, int xPos, int yPos, bool first)
{
if(first) {
BitBlt(hDC, xPos, yPos, size, size, firstDC , 0, 0, SRCCOPY);
}
else {
BitBlt(hDC, xPos, yPos, size, size, secondDC , 0, 0, SRCCOPY);
}
}
但是这段代码会导致运行时错误。
如何在我的类中存储多个位图?
【问题讨论】:
-
您必须在问题中包含更多信息。错误是什么?您发布的代码甚至无法编译。请包含minimal reproducible example
-
请见谅。我会在 30 分钟内添加更多信息。
-
注意及时发布CompatibleDC,否则肯定会报错。