我有一个 MFC Visual C++ 应用程序,它似乎无法在类向导中工作,但是,我有一个 View (CServerView),我想向其添加 WM_TIMER 事件处理程序。
我已经弄清楚如何调用 CWnd::SetTimer
和 CWnd::KillTimer
但我已经十多年没有做的是修改消息映射。我不确定我应该为我的 CView 子类修改的 map 是 ServerView.cpp 文件的这一部分,还是 ServerView.h 中的某些内容:
BEGIN_MESSAGE_MAP(CServerView, CListView)
//{{AFX_MSG_MAP(CServerView)
ON_COMMAND(ID_DRIVER_START, OnDriverStart)
ON_UPDATE_COMMAND_UI(ID_DRIVER_START, OnUpdateDriverStart)
...
// Standard printing commands
END_MESSAGE_MAP()
这可能是一件微不足道的事情,但我面临的两个复杂问题是在线文档都是针对最近的 Visual Studio 版本的,而我一直在 Visual C++ 6.0 中这样做
最佳答案
在你的头文件中:
afx_msg void OnTimer(UINT_PTR nIDEvent);
在你的cpp文件中:
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_WM_TIMER()
END_MESSAGE_MAP()
void CMyView::StartTimer
{
m_nTimerID = SetTimer(2348,100,0);
}
void CMyView::OnTimer(UINT_PTR nIDEvent)
{
if(nIDEvent==m_nTimerID)
{
}
CView::OnTimer(nIDEvent);
}
关于visual-c++ - 当类向导被破坏时,将计时器 (WM_TIMER) 处理程序添加到 Visual C++ 6.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428451/