一、大写标示符

Windows中的很多标识符都是以两个或者三个大写字母作为前缀的,且其后紧跟一个下划线。这些标识符都是常量数值,前缀表明该常量的一般类别。如下

前缀 常量
CS(Class Style) 类风格选项
CW(Create Window) 创建窗口选项
DT(Draw Text)   文本绘制选项
IDI(ID Image) 图标的ID号
IDC(ID Cursor) 光标的ID号
MB(Messge Box) 消息框选项
SND(Sound) 声音选项
WM(Window Message) 窗口消息
WS(Window Style) 窗口风格

二、数据类型:WPARAM,LPARAM, LRESULT

  当windows还是16位系统时,WndProc的第三个参数定义为WORD,表示一个16位的无符号短整型,而第四个参数定义为LONG,表示一个32位的有符号长整形,所以“PARAM”的前缀“W”和“L”正是由此而来。但是在32位版本的Windows中,WPARAM定义为UINT,而LPARAM定义为LONG,因此两者都是32位的。LRESULT是返回值类型,该类型等价于LONG。

数据结构

结构 含义
MSG 消息结构
WNDCLASS 窗口类结构
PAINTSTRUCT

绘制结构

RECT

矩形结构

三、句柄

标识符 含义
HINSTANCE 实例句柄--程序本身
HWND 窗口句柄
HDC 设备环境句柄
HICON 图标句柄
HCURSOR 鼠标指针的句柄

四、匈牙利标记法

  在Windows中一般采用匈牙利标记法来作为变量的命名规定。该标记法以变量名以表明该变量数据类型的小写字符开始。当命名结构变量时,可使用结构名的小写形式作为该变量名称的前缀或整个变量名。

前缀 数据类型
c char或WCHAR或TCHAR
by BYTE(无符号字符)
n short(短整形)
i int(整形)
x,y int,表示x坐标和y坐标
cx,cy int,表示x或y的长度,c表示“count”(计数)
B或f

BOOL(int),f表示“flag”

w WORD(无符号短整型)
l LONG(长整形)
dw DWORD(无符号长整形)
fn 函数
s 字符串
sz 以零结尾的字符串
h 句柄
p 指针

【Windows】Windows中的数据类型以及命名的更多相关文章

  1. 关于Linux系统和Windows系统中文件夹的命名规范

    Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...

  2. windows编程中的数据类型

    在windows编程中,有许多奇怪的数据类型,初学者不知道这些代表什么,下面就把一些数据类型列出如下: ATOM 原子(原子表中的一个字符串的参考) BOOL 布尔变量 BOOLEAN 布尔变量 BY ...

  3. C#中调用Windows API时的数据类型对应关系

    原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System. ...

  4. Windows 编程中恼人的各种字符以及字符指针类型

    在Windows编程中,很容易见到这些数据类型:LPSTR,LPTSTR,LPCTSTR... 像很多童鞋一样,当初在学Windows编程的时候,对着些数据类型真的是丈二和尚,摸不着头脑,长时间不用就 ...

  5. 重装助手教你如何在Windows 10中更改您的帐户名称

    当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...

  6. 将WCF寄宿在托管的Windows服务中

    在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...

  7. Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...

  8. 如何在 Windows 10 中搭建 Node.js 环境?

    [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中 ...

  9. python - 在Windows系统中安装Pygame及导入Eclipse

    环境:python3.6(只有一个版本)+ windows10(64 bit)  + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...

随机推荐

  1. ImageSwitcher 右向左滑动的实现方式

    ImageSwitcher is;...is.setInAnimation(this, android.R.anim.slide_in_left);is.setOutAnimation(this, a ...

  2. Android Loader详解三:重启与回调

    重启装载器 当你使用initLoader()时,如果指定ID的装载器已经存在,则它使用这个装载器.如果不存在呢,它将创建一个新的.但是有时你却是想丢弃旧的然后开始新的数据. 要想丢弃旧数据,你应使用r ...

  3. SQL SERVER 自定义函数 整数转成指定长度的16进制 转换成指定长度的16进制 不足补0

    最近做项目扩展的时候,遇到问题就是将整型转换成指定长度的16进制 刚开始就是直接使用 cast(12 as varbinary(4))但是发现这个不能解决我的问题 所以就上网搜了一下,然后改了改,下面 ...

  4. 《锋利的Jquery第二版》读书笔记 第三章

    DOM操作的分类 1.DOM Core不专属JavaScript,任何一种支持DOM的程序设计语言都可以使用它,也可以处理XML等标记语言编写出来的文档,getElementById().setAtt ...

  5. 软件缺陷分析方法:ODC

    资料 Orthogonal Defect Classification:简要描述. ODC-5-2.pdf :详细说明了ODC对于缺陷属性分类的描述,以及具体应该怎么划分. ODC-5-2-Exten ...

  6. 使用int?来确保值类型也可以为null

    基元类型为什么需要为null?考虑两个场景: 1)数据库中一个int字段可以被设置为null.在C#中,值被取出来后,为了将它赋值给int类型,不得不首先判断一下它是否为null.如果将null直接赋 ...

  7. 用slf4j统一管理日志总结

    用slf4j统一管理日志总结 参考网页:http://www.slf4j.org/ 一.使用slf4j统一管理并配置统一使用log4j日志 使用的jar:(slf4j-api-1.7.5.jar,jc ...

  8. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

  9. TreeMap简单simple

    TreeMap能够按照主键对里面的数据进行排序,基于上篇文章:java集合类之TreeMap中有关于TreeMap内部实现的详细介绍.本文主要是写了些使用TreeMap的简单demo. 要想实现Tre ...

  10. Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理

    IOC的基础 下面我们从IOC/AOP开始,它们是Spring平台实现的核心部分:虽然,我们一开始大多只是在这个层面上,做一些配置和外部特性的使用工作,但对这两个核心模块工作原理和运作机制的理解,对深 ...