VS2008想用C++动态画一个按钮,程序出现error C2352错误

xx_xiaoyi 2011-12-17 02:28:07
出现的错误如题,基本代码如下:
注:在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”的声明
...全文
55 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuku_1122 2011-12-17
  • 打赏
  • 举报
回复
ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest())

改为

ON_BN_CLICKED(IDC_BTN_TEST,&CCListBoxDlg::OnBnClickedTest)

试试

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧