E0135 类 "CBitmap" 没有成员 "Save"
时间: 2023-07-05 14:34:50 浏览: 147
这个错误信息通常表示在使用类`CBitmap`的`Save`成员函数时出现了问题。这个问题可能由以下原因引起:
1. 类`CBitmap`确实没有成员函数`Save`。在这种情况下,你需要检查你的代码是否正确引用了该类,并且确保该类确实有一个名为`Save`的成员函数。
2. 如果你使用的是MFC库,那么`CBitmap`类确实有一个名为`Save`的成员函数。在这种情况下,这个错误通常是由于你的代码中没有包含必要的头文件或链接到必要的库文件造成的。你需要检查你的代码是否正确包含了`afxwin.h`头文件,并且是否正确链接了`afxwin.lib`库文件。
希望这能帮到你解决问题。
相关问题
HBITMAP 对象 转为CBitmap对象
在Windows图形编程中,HBITMAP(设备无关位图)通常是由GDI创建的,而CBitmap是MFC(Microsoft Foundation Classes)中的一个类,用于表示位图资源。如果你有一个HBITMAP并想要转换为CBitmap对象,你可以这样做:
```cpp
#include <afxwin.h> // 包含CBitmap相关的头文件
// 假设hBitmap是已有的HBITMAP对象
CBitmap bitmapFromHBITMAP;
bitmapFromHBITMAP.CreateCompatibleBitmap(NULL, hBitmap->GetWidth(), hBitmap->GetHeight()); // 使用HBITMAP的尺寸创建兼容位图
bitmapFromHBITMAP.SelectObject(hBitmap); // 选择HBITMAP到新CBitmap对象
```
这段代码首先创建了一个与原始HBITMAP兼容的新位图,然后将HBITMAP的内容复制到这个新的CBitmap对象上。`SelectObject()`方法用于设置当前选中的设备上下文(DC)中的位图。
MFC怎么使用CDC类
MFC 中的 CDC 类是用于设备上下文的类,它提供了许多绘图函数,可以用于在设备上下文中绘制图形。要使用 CDC 类,您需要在您的 MFC 应用程序中创建一个 CDC 对象并将其与您要绘制的设备上下文相关联。下面是一个简单的例子:
```
void CMyView::OnDraw(CDC* pDC)
{
// 创建一个内存 DC
CDC memDC;
memDC.CreateCompatibleDC(pDC);
// 创建一个位图
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, 200, 200);
// 将位图关联到内存 DC 上
CBitmap* pOldBmp = memDC.SelectObject(&bmp);
// 在内存 DC 上绘制图形
memDC.Rectangle(50, 50, 150, 150);
// 将内存 DC 上的图形复制到屏幕 DC 上
pDC->BitBlt(0, 0, 200, 200, &memDC, 0, 0, SRCCOPY);
// 清除内存 DC 上的位图
memDC.SelectObject(pOldBmp);
bmp.DeleteObject();
memDC.DeleteDC();
}
```
在上面的代码中,我们创建了一个内存 DC 和一个位图,并将位图关联到内存 DC 上。然后我们在内存 DC 上绘制了一个矩形,并将内存 DC 上的图形复制到屏幕 DC 上。最后,我们清除了内存 DC 上的位图,以释放内存。
这只是 CDC 类的一个简单示例。CDC 类提供了许多其他函数,例如画线、画圆、画文本等等。您可以查阅 MFC 文档以了解更多绘图函数的详细信息。