
学习mfc的自定义消息时出错了
出错信息:错误1errorLNK2001:无法解析的外部符号"public:long__thiscallCExTestView::OnMyMessage(unsigned...
出错信息:
错误1error LNK2001: 无法解析的外部符号 "public: long __thiscall CExTestView::OnMyMessage(unsigned int,long)" (?OnMyMessage@CExTestView@@QAEJIJ@Z)E:\程序\MFC\ExTest\ExTest\ExTestView.objExTest
我按书上的步骤来的
#define WM_MY_MESSAGE (WM_USER+100)//先定义消息
//然后在头文件中声明
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnPaint();
afx_msg LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam);
//在实现文件中映射
IMPLEMENT_DYNCREATE(CExTestView, CView)
BEGIN_MESSAGE_MAP(CExTestView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)//这是我自己定义的函数
END_MESSAGE_MAP()
//最后是函数代码
LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
另外:我看的是vc6的教程,用的是vs2012,会不会跟这个也有关系呢? 展开
错误1error LNK2001: 无法解析的外部符号 "public: long __thiscall CExTestView::OnMyMessage(unsigned int,long)" (?OnMyMessage@CExTestView@@QAEJIJ@Z)E:\程序\MFC\ExTest\ExTest\ExTestView.objExTest
我按书上的步骤来的
#define WM_MY_MESSAGE (WM_USER+100)//先定义消息
//然后在头文件中声明
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnPaint();
afx_msg LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam);
//在实现文件中映射
IMPLEMENT_DYNCREATE(CExTestView, CView)
BEGIN_MESSAGE_MAP(CExTestView, CView)
// 标准打印命令
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)//这是我自己定义的函数
END_MESSAGE_MAP()
//最后是函数代码
LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
另外:我看的是vc6的教程,用的是vs2012,会不会跟这个也有关系呢? 展开
展开全部
根据提示,应该是找不到函数定义
LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
在仔细分析看一看。
LRESULT OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
在仔细分析看一看。
追问
额,还是觉得没问题啊。。我是学完c和c++直接看mfc的,对windows不是很懂,如果是有这方面的问题的话,还请你讲解下,谢谢啦
追答
应该是这样
LRESULT CExTestView::OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
你原来的代码少了CExTestView::
展开全部
函数实现部分 缺少类名
因为需要表明是哪个类的消息处理函数
所以
LRESULT CExTestView::OnMyMessage(WPARAM wparam,LPARAM lparam)
因为需要表明是哪个类的消息处理函数
所以
LRESULT CExTestView::OnMyMessage(WPARAM wparam,LPARAM lparam)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LRESULT CExTestView::OnMyMessage(WPARAM wparam,LPARAM lparam)
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
{
MessageBox(0,L" Hello,World!",L"lll",MB_OK);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询