主要内容:介绍Windows数据类型与重要数据结构

  

  1.数据类型
    在Windows系统中定义了Windows应用程序中包含种类繁多的数据类型,
    部分如下:

        WORD 16位无符号整数      typedef unsigned short WORD
        LONG 32位有符号整数      typedef long LONG
        DWORD 32位无符号整数     typedef unsigned long DWORD
        UINT 32位无符号整数      typedef unsigned int UINT
        BOOL 布尔值(TRUE/FALSE)    typedef int BOOL
        LPTSTR            指向字符串的32位指针
        LPCTSTR            指向字符串常量的32位指针

  2.一些重要数据结构
    <1>MSG:包含一个消息的全部信息,是消息发送的格式
      typedef struct tagMSG{
        HWND hwnd; //窗口句柄,为NULL,则可检索所有驻留在消息队列中的消息
        UINT message; //消息值,由Windows.h头文件中的宏定义来标识
        WPARAM wParam; //包含有关消息的附加消息,不同消息其值有所不同
        LPARAM lParam; //
        DWORD time; //制定消息送至队列的时间
        POINT pt; //指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体
      }MSG;

      typedef struct tagPOINT{
        LONG x;
        LONG y;
      }POINT;

    <2>WNDCLASSEX:包含一个窗口类的全部信息及属性
      typedef struct{
        UINT cbSize; //窗口类的结构大小,通常取sizeof(WNDCLASSEX)
        UINT style; //窗口类的样式,一般设置为0
        WNDPROC lpfnWndProc; //指向窗口函数的指针
        int cbClsExtra; //分配在窗口类结构后的字节数
        int cbWndExtra; //分配在窗口实例后的字节数
        HANDLE hInstance; //定义窗口类的应用程序的实例句柄
        HICON hIcon; //窗口类的图标
        HCURSOR hCursor; //窗口类的光标
        HBRUSH hbrBackground; //窗口类的背景刷
        LPCTSTR lpszMenuName; //窗口类菜单资源名
        LPCTSTR lpszClassName; //窗口类名
        HICON hIconSm; //窗口类的小图标
      }WNDCLASSEX;

    <3>RECT:定义了一个矩形区域及左上角和右下角坐标
      typedef struct RECT{
        LONG left; //矩形框左上角x坐标
        LONG top; //矩形框左上角y坐标
        LONG right; //矩形框右下角x坐标
        LONG bottom; //矩形框右下角y坐标
      }RECT;

1-4-2 Windows数据类型与重要数据结构的更多相关文章

  1. Windows数据类型

    WORD:16位无符号整形数据 DWORD:32字节无符号整型数据(DWORD32) DWORD64:64字节无符号整型数据 INT:32位有符号整型数据类型 INT_PTR:指向INT数据类型的指针 ...

  2. 学习:Windows数据类型

    WINDOWS API中出现的常见的数据类型有以下几种: 1.DWORD:DWORD用于表示无符号整型的数据类型,实际名为double word,32位 2.HANDLE:HANDLE为32位的数据类 ...

  3. Windows数据类型探幽——千回百转你是谁?----转载

    Windows数据类型探幽——千回百转你是谁?原创 danis 发布于2007-01-29 20:40:00 阅读数 749 收藏展开 Windows Data TypesWindows数据类型 由微 ...

  4. Redis不同数据类型的的数据结构实现

    我们知道Redis支持五种数据类型, 分别是字符串.哈希表(map).列表(list).集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据结构实也是不一样的. >>Re ...

  5. 说一下redis中5种数据类型的底层数据结构

      前言: 阅读 redis设计与实现 一书的记录.未完待续... redis我们都知道有5种数据类型,分别是string,list,hash,set,zset,那么你知道它们的底层数据结构实现吗? ...

  6. redis常用数据类型对应的数据结构

    redis的数据类型都是通过多种数据结构来实现,主要是出于时间和空间的考虑,当数据量小的时候通过数组下标访问最快,占用内存最小[压缩列表是数组的变种,允许存储的数据大小不同] 因为数组需要占用连续的内 ...

  7. Windows 数据类型

    类型 定义 描述 ATOM typedef WORD ATOM; 原子(原子表中的一个字符串的参考) BOOL typedef int BOOL; 布尔变量 BOOLEAN typedef BYTE ...

  8. windows 数据类型转换为 dotnet 数据类型

    Windows Data Type .NET Data Type BOOL, BOOLEAN Boolean or Int32 BSTR String BYTE Byte CHAR Char DOUB ...

  9. Windows API 的数据类型与 Delphi 数据类型对照表

    Windows 数据类型 Delphi 数据类型 描述 LPSTR PAnsiChar 字符串指针 LPCSTR PAnsiChar 字符串指针 DWORD LongWord 整数 BOOL Long ...

随机推荐

  1. bzoj 1036 Tree Count

    题目大意:给出一棵树,每个点有一个权值,要求三种操作:1.修改某个点的权值,2.询问x到y路径上各点的权值最大值,3.询问x到y路径上各点的权值之和. #include <cstdio> ...

  2. 继承自NSObject的类不能用CGRect

    我用的是Xcode6.2. 系统默认没有pch文件. 所以没有自动导入UIKit包. 我在继承NSObject类里也不能用CGRect或者UI开头的控件,原因也是Xcode6.2以后版本 缺少UIKi ...

  3. 多线程同步内功心法——PV操作上(未完待续。。。)

    阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...

  4. Spring AOP中pointcut expression表达式解析 及匹配多个条件

    Spring中事务控制相关配置: <bean id="txManager" class="org.springframework.jdbc.datasource.D ...

  5. xlistview的java(脚)

    package com.bwie.xlistviews; import com.bwie.test.R; import android.content.Context;import android.u ...

  6. java基础-006

    37.JDBC JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库引用程序,而不需要关心底层特定数据库的细节. 38.驱动(Driver) 在JDBC中的角色 ...

  7. init()和deinit()

    一.初始化方法(init()) 1.定义:类初始化对象时所调用的方法 2.分类: (1)默认初始化方法 (2)便利初始化方法 (3)使用闭包 3.一些注意点: (1)方法固定名为init,没有返回值, ...

  8. libbspatch.so

    http://www.zhihu.com/question/21154099 http://blog.csdn.net/hmg25/article/details/8100896 91助手和Googl ...

  9. 算法导论 第六章 思考题6-3 Young氏矩阵

    这题利用二叉堆维持堆性质的办法来维持Young氏矩阵的性质,题目提示中写得很清楚,不过确实容易转不过弯来. a,b两问很简单.直接看c小问: 按照Young氏矩阵的性质,最小值肯定在左上角取得,问题在 ...

  10. Oracle数据库的引导过程

    Oracle在启动数据库:会先去读1号数据文件的文件头中记录的root dba, 再通过root dba去找bootstrap$中存储的那些数据字典的基表的定义,最后根据这些定义创建数字字典,即所谓的 ...