好事发生文章推荐:进程、线程与协程的区别
文章链接:https://cloud.tencent.com/developer/article/2470390
文章简介:本文介绍了进程、线程和协程各自的特点以及它们之间的差异,对进程、线程和协程有了更进一步的认识!
前言今天学习一下MFC的定时器的使用!
Time定时器定时器的作用是允许开发者在应用程序中创建定时器,以便在指定的时间间隔后执行特定的任务。
定时器ID:也就是定义多个定时器时,用于区别定时器标识的号码。时间间隔:每个时间间隔意味着多久执行一次定时器的相关操作。定时器事件:当一定的时间间隔到达了,就要执行对应的处理事件。具体使用步骤创建定时器:SetTimer处理定时器事件:OnTimer销毁定时器:KillTimer.h文件代码语言:cpp代码运行次数:0运行复制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文件代码语言:cpp代码运行次数:0运行复制//#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中的处理函数关联起来。定时器初始化使用:设置对应的定时器间隔多久去调用一次事件。事件处理:这里当时间到了,就会执行对应的数据。代码语言:cpp代码运行次数:0运行复制CString strM("1");
SetDlgItemText(IDC_STATIC, strM);这里就是简单的设置了一个字符变量,然后放置在控件中不断刷新显示。
错误和解决运行报错:0x7A58F619 (mfc140ud.dll) (MFCApplication1.exe 中)处有未经处理的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x000E2F50)。
设置堆的大小。
项目的属性——》配置属性——》链接器——》系统——》堆栈保留大小和堆栈提交大小——》100000000
总结以上就是今天要讲的内容,本文仅仅简单介绍了Time定时器的使用以及遇到问题的解决办法!