作者:润秋赋_137 | 来源:互联网 | 2023-05-17 05:57
class CMyDlg : public CDialog
{
// 构造
public:
CMyDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_MY_DIALOG };
Bitmap *Map;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
};
我在里边定义了一个Bitmap *Map;编译的时候就发生以下错误:
d:\XXXXdlg.h(16): error C2501: “CMyDlg::Map” : 缺少存储类或类型说明符
d:\XXXXdlg.h(16): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
d:\XXXXdlg.h(16): error C2501: “CMyDlg::Bitmap” : 缺少存储类或类型说明符
d:\XXXXdlg.h(16): error C2501: “CMyDlg::Map” : 缺少存储类或类型说明符
d:\XXXXdlg.h(16): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
d:\XXXXdlg.h(16): error C2501: “CMyDlg::Bitmap” : 缺少存储类或类型说明符
看样子似乎是缺少了类Bitmap的头文件。但是我在stdafx.h中已经添加了 #include
请问这是什么原因造成的?
6 个解决方案
#include
还有要用gdi+ 需要先gdistartup环境
是不是这样:
BOOL CMyApp::InitInstance()
{
// .....省略了一些操作
CWinApp::InitInstance();
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
return FALSE;
}
int CMyApp::ExitInstance()
{
Gdiplus::GdiplusShutdown(m_gdiplusToken);
return CWinApp::ExitInstance();
}
问题是我遇到的那种问题是编译都通不过哈,不是执行的时候有问题。
链接器中的输入里边的附加依赖项里边也添加了gdiplus.lib了。
有没有人能给个示例程序?VC++.NET的,显示一副位图的,要用到Bitmap类。