在这里遇到一些麻烦,现在我只是试图让图像在屏幕上移动,变量和定位正在工作但是由于某种原因,OnTimer永远不会被调用,我在其中放置一个断点并且它从未到过。没有错误,所以我假设所有方法和变量都在标题中正确定义。
提前致谢
BOOL Client::OnInitDialog()
{
CDialogEx::OnInitDialog();
//StartGame();
m_PlayerPosTop = 0; // 384
m_PlayerPosLeft = 0;
m_PlayerImg.MoveWindow(m_PlayerPosLeft, m_PlayerPosTop, 16, 16);
m_nTimer = SetTimer(0, 1000, 0);
return TRUE;
}
void Client::OnTimer(UINT_PTR nIDEvent)
{
m_PlayerPosLeft++;
m_PlayerImg.MoveWindow(m_PlayerPosLeft, m_PlayerPosTop, 16, 16);
CDialogEx::OnTimer(nIDEvent);
}
答案 0 :(得分:1)
您没有看到OnTimer
被解雇的可能原因是您可能碰巧忘记在正确的位置插入ON_WM_TIMER()
。
BEGIN_MEESAGE_MAP(...)
// ..
ON_WM_TIMER()
// ..
END_MESSAGE_MAP()
MFC是一个消息驱动系统。
确保您始终告诉系统您决定管理哪些邮件。