VS2008想用C++动态画一个按钮,程序出现error C2352错误
时间:2011-12-17
来源:互联网
出现的错误如题,基本代码如下:
注:在String Table里面定义了IDC_BTN_TEST
CListBoxDlg.h文件代码
class CCListBoxDlg : public CDialog
{
//省略 。。。。
private:
CButton *myBtn;//按钮指针
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBnClickedTest();
DECLARE_MESSAGE_MAP()
};
CListBoxDlg.Cpp文件部分代码
BEGIN_MESSAGE_MAP(CCListBoxDlg, CDialog)
//{{AFX_MSG_MAP
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest())
END_MESSAGE_MAP()
BOOL CCListBoxDlg::OnInitDialog()
{
//省略部分代码
myBtn=new CButton();
CString myBtnCaption;
myBtnCaption.LoadString(IDC_BTN_TEST);
myBtn->Create(myBtnCaption,WS_CHILD|WS_VISIBLE|WS_TABSTOP,CRect(20,20,20,20),this,IDC_BTN_TEST);
}
void CCListBoxDlg::OnBnClickedTest()
{
MessageBox(_T("Test"));
}
编绎后给出错误提示
error C2352: “CCListBoxDlg::OnBnClickedTest”: 非静态成员函数的非法调用
参见“CCListBoxDlg::OnBnClickedTest”的声明
注:在String Table里面定义了IDC_BTN_TEST
CListBoxDlg.h文件代码
class CCListBoxDlg : public CDialog
{
//省略 。。。。
private:
CButton *myBtn;//按钮指针
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBnClickedTest();
DECLARE_MESSAGE_MAP()
};
CListBoxDlg.Cpp文件部分代码
BEGIN_MESSAGE_MAP(CCListBoxDlg, CDialog)
//{{AFX_MSG_MAP
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest())
END_MESSAGE_MAP()
BOOL CCListBoxDlg::OnInitDialog()
{
//省略部分代码
myBtn=new CButton();
CString myBtnCaption;
myBtnCaption.LoadString(IDC_BTN_TEST);
myBtn->Create(myBtnCaption,WS_CHILD|WS_VISIBLE|WS_TABSTOP,CRect(20,20,20,20),this,IDC_BTN_TEST);
}
void CCListBoxDlg::OnBnClickedTest()
{
MessageBox(_T("Test"));
}
编绎后给出错误提示
error C2352: “CCListBoxDlg::OnBnClickedTest”: 非静态成员函数的非法调用
参见“CCListBoxDlg::OnBnClickedTest”的声明
作者: xx_xiaoyi 发布时间: 2011-12-17
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest())
改为
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest)
试试
改为
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest)
试试
作者: kuku_1122 发布时间: 2011-12-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28