马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
前言
本日学习一下MFC的定时器的使用!
Time定时器
定时器的作用是答应开辟者在应用程序中创建定时器,以便在指定的时间隔断后实行特定的任务。
- 定时器ID:也就是界说多个定时器时,用于区别定时器标识的号码。
- 时间隔断:每个时间隔断意味着多久实行一次定时器的相关操纵。
- 定时器事件:当肯定的时间隔断到达了,就要实行对应的处置处罚事件。
具体使用步骤
- 创建定时器:SetTimer
- 处置处罚定时器事件:OnTimer
- 销毁定时器:KillTimer
.h文件
- UINT_PTR m_nTimerID; // 定时器ID
- virtual void OnTimer(UINT_PTR nIDEvent);
复制代码
- 声明定时器ID:
UINT_PTR m_nTimerID; 是一个成员变量,用于存储定时器的ID。这个ID是创建定时器时由SetTimer函数返回的,用于唯一标识一个定时器。UINT_PTR类型可以确保这个ID在32位和64位体系上都能精确存储。
- 处置处罚定时器消息
virtual void OnTimer(UINT_PTR nIDEvent); 是一个虚函数,用于处置处罚定时器事件。当定时器时间到达时,Windows会向拥有该定时器的窗口发送WM_TIMER消息,MFC框架会自动调用这个函数。
.cpp文件
- //#ifdef AFX_DESIGN_TIME中
- // 声明定时器ID
- enum { ID_TIMER = 1 };
- //消息映射表中的宏添加
- ON_WM_TIMER()
- // CMFCApplication1Dlg 消息处理程序
- //BOOL CMFCApplication1Dlg::OnInitDialog()
- // TODO: 在此添加额外的初始化代码
- m_nTimerID = SetTimer(ID_TIMER, 10000, NULL);
- //事件处理
- void CMFCApplication1Dlg::OnTimer(UINT_PTR nIDEvent)
复制代码
- 声明定时器:当界说多个定时器时,可以通过差别定名和界说来区分。
- 宏添加:将 WM_TIMER 消息映射到处置处罚该消息的成员函数上。将Windows消息和MFC中的处置处罚函数关联起来。
- 定时器初始化使用:设置对应的定时器隔断多久去调用一次事件。
- 事件处置处罚:这里当时间到了,就会实行对应的数据。
- CString strM("1");
- SetDlgItemText(IDC_STATIC, strM);
复制代码 这里就是简单的设置了一个字符变量,然后放置在控件中不断刷新显示。
错误和办理
运行报错:0x7A58F619 (mfc140ud.dll) (MFCApplication1.exe 中)处有未经处置处罚的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x000E2F50)。
设置堆的大小。
项目标属性——》配置属性——》链接器——》体系——》堆栈保留大小和堆栈提交大小——》100000000
总结
以上就是本日要讲的内容,本文仅仅简单先容了Time定时器的使用以及碰到题目标办理办法!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |