MFC/C++学习系列之简单记录10——定时器

MFC/C++学习系列之简单记录10------定时器

  • 前言
  • Time定时器
  • 具体使用步骤
    • .h文件
    • .cpp文件
    • 错误和解决
  • 总结

前言

今天学习一下MFC的定时器的使用!


Time定时器

定时器的作用是允许开发者在应用程序中创建定时器,以便在指定的时间间隔后执行特定的任务。

  • 定时器ID:也就是定义多个定时器时,用于区别定时器标识的号码。
  • 时间间隔:每个时间间隔意味着多久执行一次定时器的相关操作。
  • 定时器事件:当一定的时间间隔到达了,就要执行对应的处理事件。

具体使用步骤

  • 创建定时器:SetTimer
  • 处理定时器事件:OnTimer
  • 销毁定时器:KillTimer

.h文件

cpp 复制代码
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 复制代码
//#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 复制代码
CString strM("1");
SetDlgItemText(IDC_STATIC, strM);

这里就是简单的设置了一个字符变量,然后放置在控件中不断刷新显示。

错误和解决

运行报错:0x7A58F619 (mfc140ud.dll) (MFCApplication1.exe 中)处有未经处理的异常: 0xC00000FD: Stack overflow (参数: 0x00000001, 0x000E2F50)

设置堆的大小。

项目的属性------》配置属性------》链接器------》系统------》堆栈保留大小和堆栈提交大小------》100000000


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Time定时器的使用以及遇到问题的解决办法!

相关推荐
R-G-B2 天前
【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码
c++·mfc·创建向导对话框·创建属性页类·创建属性表类
今天又在学代码写BUG口牙2 天前
MFC应用程序,工作线程学习记录
c++·mfc·1024程序员节
滴_咕噜咕噜4 天前
【MFC】sqlite3数据库类导入MFC项目调用
sqlite·mfc
R-G-B4 天前
【23】MFC入门到精通——MFC资源视图 报错“在另一个编辑器中打开” ,MFC Dialog窗口消失 资源视图“在另一个编译器中打开”
c++·编辑器·mfc·“在另一个编辑器中打开”·mfc dialog窗口消失
滴_咕噜咕噜5 天前
【MFC】数据库操作:数据库动态生成
数据库·c++·mfc
R-G-B5 天前
【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
c++·mfc·mfc静态文本框输出字符串·mfc静态文本框连续输出字符串·mfc静态文本框换行输出字符串
ajassi20006 天前
开源 C++ QT QML 开发(二十三)程序发布
c++·qt·mfc
R-G-B6 天前
【21】MFC入门到精通——MFC 调试及运行状态下,使用printf() 或者 cout 打印输出信息
c++·mfc·mfc调试及运行状态下打印输出·mfc 打印输出printf·mfc打印输出cout 信息
SunkingYang9 天前
详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
c++·excel·mfc·异常捕获·comerror
R-G-B9 天前
【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示
c++·mfc·mfc运行 不显界面·mfc界面不显示