【Windows】Windows中的数据类型以及命名
一、大写标示符
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中的数据类型以及命名的更多相关文章
- 关于Linux系统和Windows系统中文件夹的命名规范
Windows系统中. 1.在创建文件夹的时候不能以"."开头(但是文件以多个点开头并且还有其他合法字符的话就是合法的) 但是在windows系统中确实见过以一个点".& ...
- windows编程中的数据类型
在windows编程中,有许多奇怪的数据类型,初学者不知道这些代表什么,下面就把一些数据类型列出如下: ATOM 原子(原子表中的一个字符串的参考) BOOL 布尔变量 BOOLEAN 布尔变量 BY ...
- C#中调用Windows API时的数据类型对应关系
原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System. ...
- Windows 编程中恼人的各种字符以及字符指针类型
在Windows编程中,很容易见到这些数据类型:LPSTR,LPTSTR,LPCTSTR... 像很多童鞋一样,当初在学Windows编程的时候,对着些数据类型真的是丈二和尚,摸不着头脑,长时间不用就 ...
- 重装助手教你如何在Windows 10中更改您的帐户名称
当您设置新的Win10免费下载 PC时,您选择用户名的部分可能会让您措手不及.如果是这种情况,您可以选择弹出头部的第一件事或者您打算稍后更改的随机和临时事物.但令人惊讶的是,在Windows 10中更 ...
- 将WCF寄宿在托管的Windows服务中
在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...
- Windows系统中设置Python程序定时运行方法
Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索“计划任务”,并且点击打开“计划任务”: 2.点击“创建基 ...
- 如何在 Windows 10 中搭建 Node.js 环境?
[编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中 ...
- python - 在Windows系统中安装Pygame及导入Eclipse
环境:python3.6(只有一个版本)+ windows10(64 bit) + Eclipse+pydev python3.6安装完成后,会自带 easy_install 和 pip3,在Win ...
随机推荐
- win7 下安装oracle 10g
oracle 10g 在win7下安装,提示程序异常终止,发生未知错误 在网上搜结果: 修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 < ...
- 【数据结构】之二叉树的java实现
转自:http://blog.csdn.net/wuwenxiang91322/article/details/12231657 二叉树的定义: 二叉树是树形结构的一个重要类型.许多实际问题抽象出来的 ...
- ASP.NET之JSONHelper操作
转自:http://www.cnblogs.com/PEPE/archive/2012/02/13/Pepe_Yu.html 之前说到了Ext.Net中GridPanel行取值的问题(Ext.Net开 ...
- CPU acceleration status:HAXM must be updated(version 1.1.1<6.0.1)
终于上手as了,感觉很爽 但是感觉也特闹心啊 还好有stackoverflow(这特么才是一个神奇的网站好吗) 废话少说 记录一下: 前面历经的磨难暂时不说了,就这个CPU acceleration ...
- B. Berland Bingo
Lately, a national version of a bingo game has become very popular in Berland. There are n players p ...
- ubuntu相关软件合集(持续更新中)
本人使用的是Ubuntu-Kylin14.04,自带了日历.输入法.优客助手等易于上手的应用.省的每次安装完原生的系统再麻烦的安装,下面介绍默认应用外的相关常用软件: 一.Keylock Applic ...
- Lambda表达式与匿名方法
在C#2中,由于有了方法组,匿名方法,类型的协变和抗变,使得运用delegate变得很容易,在注册事件时代码变得简单易读,但是在C# 2中,代码仍然有点臃肿,大块的匿名方法会降低代码的可读性,一般我们 ...
- Bzoj 1391: [Ceoi2008]order 网络流,最大权闭合图
1391: [Ceoi2008]order Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1105 Solved: 331[Submit][Statu ...
- 动态生成修改aspx文件
using System.IO; using System.Text;/// <summary>/// SCPage 的摘要说明 修改 aspx 和aspx.cs文件/// </su ...
- [置顶] 第二届微软CRM交流年会
第二届微软CRM交流会将在12月14日举行,亲们要是感兴趣可以查看下面的活动详情.Jeff也是第一次参加这类活动,作为本次活动的嘉宾我为大家带来一个挺有意思的分享主题<Dynamics CRM ...