1.类的静态成员变量

.h 类声明入下

 class A
{
public:
static int x;
};

.cpp文件

这样初始化.
int A::x = ;

2.定时器使用

1.SetTimer(HWND,UINT,UINT,TIMERPROC);

第一个参数设置为捕获该定时消息的窗口句柄, 第二个参数是定时器的id,第三个是以毫秒为单位的定时长度,最后一个参数设置为NULL,可以使窗口的回调函数进行处理WM_TIMER消息。一般来 说,在窗口创建时进行SetTimer调用;在回调函数中添加WM_TIMER的响应。然后再窗口销毁的时候进行计时器的销 毁:KillTimer(HWND,UINT);参数分别是窗口句柄和定时器ID。

2.SetTimer(HWND,UINT,UINT,TIMERPROC);与第一种方法唯一的区别就是最后一个参数不是NULL,而是一个自己 定义的回调函数,这样,WM_TIMER消息将被自己定义回调函数获取,进行处理。同样要在结束使用的时候KillTimer(HWND,UINT);

注:类中的回调成员函数必须为静态的

.h文件

 #ifndef _TIMER_H
#define _TIEER_H
class Timer
{
public:
Timer(); ~Timer(); static VOID CALLBACK MyTimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime);
};
#endif

.cpp 文件

 #include "Timer.h"
#include <windows.h> Timer::Timer()
{
::SetTimer(this,,,(TIMERPROC)MyTimerProc);
} Timer::~Timer()
{
::KillTimer(this,);
} VOID CALLBACK Timer::MyTimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime)
{
//add your code
}

3.IDtimer = SetTimer(HWND,UINT,UINT,TIMERPROC);将第一个参数设置为NULL ,第二个参数设置为0,第三个和第四个参数的设置与第二种方法一致,这样创建一个定时器将返回一个定时器ID,在销毁定时器时调用 KillTimer(NULL,IDtimer)。这种方式适合多次定时容易混淆定时器ID的程序,因为其返回值管理定时器ID,而不要自己去管理。

C++类的静态成员变量初始化 Win32 API 定时器使用的更多相关文章

  1. 分析java类的静态成员变量初始化先于非静态成员变量

    依上图中当class字节码文件被jvm虚拟机加载到内存中依次经过 连接 验证:对字节码进行验证 准备:给静态变量分配内存并赋予变量类型各自的默认值(注:基本类型为0或false,对象为null,sta ...

  2. 问题:C++类的静态成员变量如何初始化

    C++类的静态成员变量属于该类,在该类所有的对象间共享. 要弄清如何初始化,首先要明白声明.定义.初始化三个概念的不同. 声明:指定变量的名字和类型,可以多次声明. 定义:为该成员变量分配存储空间,有 ...

  3. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  4. C++@类的静态成员变量和静态成员函数

    参考: http://blog.csdn.net/morewindows/article/details/6721430 http://www.cnblogs.com/lzjsky/archive/2 ...

  5. Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

    [Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...

  6. C++ 类的静态成员变量及静态成员函数

    ps:下面所说 成员=成员变量+成员函数: 作用 由于对象与对象之间的成员变量是相互独立的.所以要想共用数据,则需要使用静态成员和静态函数. 空间分配 静态成员是在程序编译时分配空间,而在程序结束时释 ...

  7. C++类的静态成员变量与静态成员函数

    1.类的静态成员变量 C++类的静态成员变量主要有以下特性: 1.静态成员变量需要类内定义,类外初始化 2.静态成员变量不依赖于类,静态成员变量属于全局区,不属于类的空间. 3.静态成员变量通过类名访 ...

  8. File类的概述和File类的静态成员变量

    File类概述:java.io.File类 文件和目录路径名的抽象表示形式 java把电脑中的文件和文件夹(目录)封账为了一个File类,我们可以使用File类对文件和文件夹进行操作 默认情况下,ja ...

  9. 类中静态成员变量 && 无法解析的外部符号

    [1]如下代码及编译错误 如标题,不做赘述. [2]原因及解决方案 原因:之所以报如上编译错误,因为静态成员变量未初始化. 解决方案:类中静态成员需要在类外进行初始化.其格式为:类型 类名::静态成员 ...

随机推荐

  1. centos 7 update to python V3.43 to assure git clone as usual

    vim /usr/bin/yum vim /usr/libexec/urlgrabber-ext-down yum update -y nss curl libcurl

  2. vim编辑器的基本用法

    使用linux时候,个人比较喜欢用vim编辑器,对文本进行操作. 为了方便我使用vim编辑器,特地搜索了一下教程记录于此,防止自己忘记了. 下面就是一些vim使用的基础操作: 使用vim打开软件 vi ...

  3. 涉及不同实例不同数据库的同一条sql语句

    exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Querie ...

  4. 【python-opencv】几何变换

    """几何变换-缩放""" img = cv.imread(r'pictures\family.jpg') ""&quo ...

  5. Laravel初级教程浅显易懂适合入门

    整理了一些Laravel初级教程,浅显易懂,特适合入门,留给刚学习laravel想快速上手有需要的朋友 最适合入门的laravel初级教程(一)序言 最适合入门的laravel初级教程(二)安装使用 ...

  6. Android开发之改动屏幕方向

    有的场景下.我们须要把手机屏幕方向改变,以下是我写的一个样例. xml页面文件: <RelativeLayout xmlns:android="http://schemas.andro ...

  7. auto类型-现代C++新特性

    auto类型 C++11中引入的auto主要用于类型推导.auto在C++98中"存储类型指示符"的语义,由于使用极少且多余,该语义从C++11开始被删除. auto类型推导用于从 ...

  8. ZOJ:2833 Friendship(并查集+哈希)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2833 A friend is like a flower, a rose ...

  9. PAT 1101 Quick Sort[一般上]

    1101 Quick Sort(25 分) There is a classical process named partition in the famous quick sort algorith ...

  10. iOS 设计模式-委托模式

    委托是指给一个对象提供机会对另一对象中的变化做出反应或者相应另一个对象的行为.其基本思想是协同解决问题. Delegate的使用场合 对象A内部发生了一些事情,想通知对象B 对象B想监听对象A内部发生 ...