如图(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);
}