admin管理员组文章数量:1516870
整体效果预览:()
1. 创建MFC工程项目(基于对话框)
添加static text 和edit control , edit control 的id 分别为IDC_EDIT1 , 并且属性readonly设置为true
添加成员变量:
int m_nData1; // IDC_EDIT1中数据
BOOL flag = FALSE; // 标记
int count=0; // 计数位2.添加方法
添加启动定时器方法(点击确定按钮即启动)
双击确定按钮, 在xxxDlg.cpp 页面添加方法体:
void CTimerDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
if(count%2==0)
SetTimer(1, 1000, NULL);
//SetTimer(2, 2000, NULL);
//CDialogEx::OnOK();
}添加键盘事件: VS2015 工具栏 点击 项目-> 类向导->选择相应的类,如下图
进入xxxDlg.cpp添加函数体:
BOOL CTimerDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == VK_SPACE)//空格键
{
if (flag == TRUE) {
flag = FALSE;
}
else
{
flag = TRUE;
}
count++;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
添加OnTimer()方法:
void CTimerDlg::OnTimer(UINT_PTR nIDEvent)
{
if (flag)
{
KillTimer(1);
}
SetDlgItemInt(IDC_EDIT1, ++m_nData1);
CDialogEx::OnTimer(nIDEvent);
}运行即可。
版权声明:本文标题:MFC项目中玩转定时器与键盘事件:Space键暂停与开始的秘密 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1773223731a3277033.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论