非窗口类中使用定时器的方法及相关知识的介绍
2006-07-20 11:38:11 来源:WEB开发网核心提示: Person.h文件如下:class CPerson{public://该实例的一句座右铭CString szMotto;//用于保存该实例的指针CPerson* pThis;//非静态成员函数,弹出该实例的座右铭void GetMotto();//静态成员函数,非窗口类中使用定时器的方法
Person.h文件如下:
class CPerson
{
public:
//该实例的一句座右铭
CString szMotto;
//用于保存该实例的指针
CPerson* pThis;
//非静态成员函数,弹出该实例的座右铭
void GetMotto();
//静态成员函数,弹出该实例的座右铭
static void GetMottoStaic(CPerson* pPerson);
CPerson();
virtual ~CPerson();
};
Person.cpp文件如下:
#include "stdafx.h"
#include "Person.h"
CPerson::CPerson()
{
pThis = this;
}
CPerson::~CPerson()
{
}
void CPerson::GetMotto()
{
AfxMessageBox(szMotto);
}
void CPerson::GetMottoStaic(CPerson* pPerson)
{
pPerson->GetMotto();
}
在需要的地方就可以如下访问静态成员函数:
m_Person.szMotto = "我的座右铭是:这是由静态函数访问非静态函数的结果!";
m_Person.GetMottoStaic(m_Person.pThis);
其实这个例子在实际上是没有什么意义的,这样做的目的只是为了演示如何实现这个方法而已。
四、使用定时器
Windows提供了定时器,帮助我们编写定期发送消息的程序。定时器一般通过一下两中方式通知应用程序间隔时间已到。
⑴ 给指定窗口发送WM_TIMER消息,也就是下面的给出在窗口类中使用的方法。
⑵ 调用一个应用程序定义的回调函数,也就是在非窗口类中使用方法。
4.1 在窗口类中使用定时器
在窗口类中使用定时器比较简单。假如我们想让这个窗口上放置一个电子钟,这样我们必须每1秒或者0.5秒钟去更新显示显见。按照下面的步骤,就可以完成这个电子钟程序,并且知道如何在窗口类中使用定时器:
更多精彩
赞助商链接