【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 ...
随机推荐
- 使用Eclipse创建模板并格式化代码
eclipse设置方式: window-preferences-->java-code Style-formatter 在编写完代码后使用代码格式化程序对代码进行格式化,有利于版本冲突时进行对比 ...
- (转载)JS事件监听 JS:attachEvent和addEventListener使用方法
(转载)http://www.chhua.com/web-note146 attachEvent和addEventListener使用方法 Js代码 <html> <head> ...
- Cocos2d-x java 通过jni调用c++的方法
前面博客说到,cocos2d-x c++界面层运行在一个GLThread线程里面,严格的说是运行在Cocos2dxGLSurfaceView(继承自GLSurfaceView) 里面.opengl的渲 ...
- usaco 土地并购 && hdu 玩具装箱
土地并购: Description 约翰准备扩大他的农场,眼前他正在考虑购买N块长方形的土地.如果约翰单买一块土地,价格就是土地的面积.但他可以选择并购一组土地,并购的价格为这些土地中最大的长乘以最大 ...
- kvm usb2.0
Virt-Manager adds support for usb2 Wednesday, April 4, 2012 - 10:40 Haydn Solomon The most recent re ...
- 反射——类(Class)
本文原创,转载请注明原处! 红色代表的是基本组件:包(Package),修饰符(modifier),类(Class),字段(Field),构造器(Constructor)和方法(Method). 黄色 ...
- mvn开发可执行的java程序
1. 用maven-assembly-plugin插件 2. 在项目的pom文件中加入以下该插件的配置 <span style="font-size:18px;">& ...
- Redis Desktop Manager桌面管理工具
Redis Desktop Manager桌面管理工具,方便管理我们放在redis中的各个缓存 及16个数据库 http://redisdesktop.com/download
- C#常用工具类——Excel操作类
/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> / ...
- jquerymobile知识点:动态Grid的绑定以及刷新
下面jquerymobile是ajax动态绑定和刷新的例子.直接上图以及代码. 下面是实例代码: //初始绑定 function GetInitBind(PageIndex, PageSize, sq ...