如图(VS2013编译)
![]()
按下空格键程序会暂停
关键代码:
在OnInitDialog()函数中设置一个timer,每0.5秒调用一次
SetTimer(1, 500, NULL);
void CMFCApplication3Dlg::OnTimer(UINT_PTR nIDEvent)//实现OnTimer函数
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//OnPaint();
//CDialogEx::OnTimer(nIDEvent);
if (pause == 0)//空格可以实现程序的暂停
{
POINT p;
::GetCursorPos(&p);//获取鼠标坐标
CString s;
CFont font;
font.CreateFont(60, 40, 0, 0, 1200,
TRUE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, _T("Arial"));
s.Format(_T("X:%d,Y:%d"), p.x, p.y);//格式化
hPos.SetFont(&font);
hPos.SetWindowTextW(s);//设置文本
}
}
void CMFCApplication3Dlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nChar == ' ')
{
pause = ~pause;//设置标记变量,实现空格键暂停
}
//CDialogEx::OnChar(nChar, nRepCnt, nFlags);
}
本文介绍了一个使用Visual Studio 2013编写的程序,该程序通过设置定时器每0.5秒更新鼠标位置,并且可以通过按下空格键来暂停和继续程序运行。定时器的实现涉及到了Windows的消息处理机制。
627

被折叠的 条评论
为什么被折叠?



