消息映射问题
在SerialPortTestDlg.h中,对WM_COMM_RXCHAR响应函数进行声明://Generatedmessagemapfunctions//{{AFX_M...
在SerialPortTestDlg.h中,对WM_COMM_RXCHAR响应函数进行声明:
// Generated message map functions
//{{AFX_MSG(CDebugDlg)
afx_msg LONG OnComm(WPARAM ch,LPARAM port);
//}}AFX_MSG
在CSerialPortTestDlg.cpp中,对WM_COMM_RXCHAR进行消息映射:
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
并在CSerialPortTestDlg.cpp中,加入函数
LONG CDebugDlg::OnCommunication(WPARAM ch,LPARAM port)
{
m_strEditReceiveMsg+=ch;
UpdateData(FALSE);
return 0;
}
为什么会提示:error C2065: 'WM_COMM_RXCHAR' : undeclared identifier
我是按示例做的 都编译过不了 太郁闷了 哪位给指点迷津?
是我自己定义的 按你说的加了#define WM_COMM_RXCHAR WM_USER+5后果然可以通过了 非常感谢。
第一此用这个 不知道怎么在后面回答 郁闷 只好在这里写了。 展开
// Generated message map functions
//{{AFX_MSG(CDebugDlg)
afx_msg LONG OnComm(WPARAM ch,LPARAM port);
//}}AFX_MSG
在CSerialPortTestDlg.cpp中,对WM_COMM_RXCHAR进行消息映射:
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
ON_MESSAGE(WM_COMM_RXCHAR,OnComm)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
并在CSerialPortTestDlg.cpp中,加入函数
LONG CDebugDlg::OnCommunication(WPARAM ch,LPARAM port)
{
m_strEditReceiveMsg+=ch;
UpdateData(FALSE);
return 0;
}
为什么会提示:error C2065: 'WM_COMM_RXCHAR' : undeclared identifier
我是按示例做的 都编译过不了 太郁闷了 哪位给指点迷津?
是我自己定义的 按你说的加了#define WM_COMM_RXCHAR WM_USER+5后果然可以通过了 非常感谢。
第一此用这个 不知道怎么在后面回答 郁闷 只好在这里写了。 展开
2个回答
展开全部
WM_COMM_RXCHAR 这个消息在那个文件里面定义的,把头文件#include进来
编译器说的是 WM_COMM_RXCHAR 没有定义!而不是函数!
你写的串口程序,我对串口不熟悉。
可以解决:
1、如果WM_COMM_RXCHAR 是你用第三方的库发出的消息,那么在第三方库的头文件里面肯定有个地方定义了WM_COMM_RXCHAR 消息;
2、如果WM_COMM_RXCHAR是你自定义的消息, 你需要在头文件SerialPortTestDlg.h里面加如下一句话
#define WM_COMM_RXCHAR WM_USER+5
编译器说的是 WM_COMM_RXCHAR 没有定义!而不是函数!
你写的串口程序,我对串口不熟悉。
可以解决:
1、如果WM_COMM_RXCHAR 是你用第三方的库发出的消息,那么在第三方库的头文件里面肯定有个地方定义了WM_COMM_RXCHAR 消息;
2、如果WM_COMM_RXCHAR是你自定义的消息, 你需要在头文件SerialPortTestDlg.h里面加如下一句话
#define WM_COMM_RXCHAR WM_USER+5
镭速传输
2024-10-28 广告
2024-10-28 广告
在深圳市云语科技有限公司,我们深知远程传输大文件的重要性与便捷性。为此,我们推荐使用高效的文件传输服务,这些服务通常支持断点续传,确保大文件传输的稳定与安全。用户只需简单上传,系统即可自动处理,无论文件大小,都能实现快速、可靠的远程传输。同...
点击进入详情页
本回答由镭速传输提供
展开全部
ON_CONTROL_RANGE(
wNotifyCode,
id1,
id2,
memberFxn
)
本来就是一个宏定义,ON_MESSAGE也是一个宏,这句
ON_MESSAGE(ON_CONTROL_RANGE,OnControlRange)
当然错误
syntax
error
:
'constant'
估计就是这里定义错误
应该这样定义
BEGIN_MESSAGE_MAP(CMainFrame,
CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
//
...
//}}AFX_MSG_MAP
ON_CONTROL_RANGE(
wNotifyCode,
id1,
id2,
memberFxn
)
//加在//}}AFX_MSG_MAP下面
END_MESSAGE_MAP()
然后给你的类添加一个成员函数(memberFXN,你的消息处理函数)
如在类CMYDLG上点鼠标右键,点ADD
MEMBER
FUNCTION。。。。。。添加成员函数
wNotifyCode,
id1,
id2,
memberFxn
)
本来就是一个宏定义,ON_MESSAGE也是一个宏,这句
ON_MESSAGE(ON_CONTROL_RANGE,OnControlRange)
当然错误
syntax
error
:
'constant'
估计就是这里定义错误
应该这样定义
BEGIN_MESSAGE_MAP(CMainFrame,
CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
//
...
//}}AFX_MSG_MAP
ON_CONTROL_RANGE(
wNotifyCode,
id1,
id2,
memberFxn
)
//加在//}}AFX_MSG_MAP下面
END_MESSAGE_MAP()
然后给你的类添加一个成员函数(memberFXN,你的消息处理函数)
如在类CMYDLG上点鼠标右键,点ADD
MEMBER
FUNCTION。。。。。。添加成员函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询