Windows Programming必须了解的naming-convention,下面解释每个前缀/缩略词的含义,如果含义的解释一行放不下的,就把解释放在一个引用框里

Prefix
Meaning
CS

Class style option

ps
eg: psText; a pointer to the character string,
DC

device context, The device context is really just a data structure maintained internally by GDI. A device context is associated with a particular display device, such as a video display or a printer. For a video display, a device context is usually associated with a particular window on the display.

rc
eg: rcPaint; a structure of type RECT, the RECT structure defines a rectangle with four fields named left , top , right , and bottom
MM
eg: MM_TEXT;

Windows has a variety of "mapping modes" that govern how the logical coordinates specified in GDI drawing functions are translated to the physical pixel coordinates of the display. The mapping mode is defined in the device context.

DT
Options related to DrawText function

SW
show window option

CW

Create window option

DT

Draw text option

IDI

ID number for an icon

IDC

ID number for a cursor

MB

Message box options

SND

Sound option

WM

Window message

SND
sound option

WS

Window style

UINT

unsigned int

PSTR

a pointer to a nonwide character string, that is, a char *

WPARAM/LPARAM

The origin of these names requires a bit of history. When Windows was a 16-bit system, thethird parameter to WndProc was defined as a WORD, which

was a 16-bit unsigned short integer, and the fourthparameter was defined as a LONG, which was a 32-bit signed long integer. That's the reason for the "W"

and "L"prefixes on the word "PARAM." In the 32-bit versions of Windows, however, WPARAM is defined as a UINT andLPARAM is defined as a LONG (which is still the C long data type), so both parameters to the window procedureare 32-bit values. This may be a little confusing because the WORD data type is still defined as a 16-bit unsignedshort integer in Windows 98, so the "W" prefix to "PARAM" creates somewhat of a misnomer.

WINAPI/CALLBACK

Both these identifiers are defined as __stdcall , which refers to a special calling
sequence for function calls that occur between Windows itself and your application.

MSG

Message structure

WNDCLASS
Window class structure
PAINTSTRUCT
Paint structure
RECT
Rectangle structure

HINSTANCE
Handle to an "instance"—the program itself
HWND
Handle to a window
HDC

Handle to a device context. A device context refers to a physical output device (such as a video display) and its device driver. 

sz, eg: szCmdLine

string terminated by zero

h, eg: hPrevInstance
h stands for "handle"

i, eg: iCmdShow
i stands for integer

ui, eg: uiParam

ui stands for unsigned integer

c
char or WCHAR or TCHAR
by
BYTE (unsigned char)
n
short
i
int
x , y
int used as x-coordinate or y-coordinate
cx , cy
int used as x or y length; c stands for "count"
b or f
BOOL (int); f stands for "flag"
w
WORD (unsigned short)
l
LONG (long)
dw
DWORD (unsigned long)
fn
function
s
string
sz
string terminated by 0 character
h
handle
p
pointer

lpfn

long pointer to a function, Recall that in the Win32 API there is no distinction between long pointers and near pointers. This is a remnant of 16-bit Windows.

cb
stands for "count of bytes" and is often used for a variable that denotes a byte size
hbr
handle to a brush
lpsz
long pointer to a string terminated with a zero
np
near pointer, also a remnant of 16-bit windows

lpcwstr

long poiner to const wide character string (const wchar_t *)

[持续更新]Windows Programming常见Hungarian Notation/Abbreviation大全的更多相关文章

  1. SQL Server 2008 常见异常收集(持续更新)

    写在前面: 最近,在使用SQL Server 2008时,出现了不少问题.发现,很多问题都是以前碰见过的,并且当时也寻找到了解决方法(绝大部分来源于“百度”与“Google”),只是时间一长,又忘记了 ...

  2. Android源码编译常见错误(持续更新)

    本文为个人工作中处理遇到的编译问题做个小结,后续遇到新的问题,持续更新. No such file or directory: 1. 检查路径是否有问题,文件是否存在,若文件存在且路径没问题 2. 检 ...

  3. (持续更新) C# 面试技术点、常见SQL技术点 和 解决高并发的相关技术

    这篇博客 持续更新. 方便小伙伴们学习与面试前的复习

  4. 常见 git 需求整理(持续更新中)

    首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...

  5. 【持续更新】JavaScript常见面试题整理

    [重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...

  6. LeetCode All in One题解汇总(持续更新中...)

    突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...

  7. web前端面试题(持续更新)

    此文是我本人在面试的时候遇到的问题和一些同学遇到的问题加资料上面的问题的总结.(将会持续更新,因为未有满意工作) 面试时有几点需要注意: 1.面试题目:根据你的等级和职位的变化,入门级到大神级,广度和 ...

  8. ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借

    ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...

  9. Android 常用开源库总结(持续更新)

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...

随机推荐

  1. 监听内容变化 TextWatcher @功能

    监听多个TextView的内容变化 使用示例 TextWatcherUtils.addTextChangedListener(isAllNotEmpty -> btnLogin.setEnabl ...

  2. SQL OUTER JOIN

    When we want to select out all the record from two table, no matter it's present at second table or ...

  3. 设计模式(一)简单工厂(创建型)(Java&&PHP)

    面向对象设计的基本原则 单一职责系统中的每一个对象应该只有一个单独的职责,所有对象关注的应该是自身职责的完成. 基本思想:高内聚,低耦合. 开闭原则一个对象对扩展开放,对修改关闭.基本思想:对类的改动 ...

  4. Python 高级图像处理

    构建图像搜索引擎并不是一件容易的任务.这里有几个概念.工具.想法和技术需要实现.主要的图像处理概念之一是逆图像查询(RIQ).Google.Cloudera.Sumo Logic 和 Birst 等公 ...

  5. Vc++内存布局

    Vc++内存布局 测试平台 Windows server 2012 R2 and visual studio 2013 professional. 本篇文章意在介绍vc++中类的内存布局方式,只是研究 ...

  6. SVG报错error on line 39 at column 26: Namespace prefix xlink for href on script is not defined

    转自:http://stackoverflow.com/questions/3561270/error-on-line-39-at-column-26-namespace-prefix-xlink-f ...

  7. Js中/g \s 什么意思

    Js中/g \s 什么意思 js里elm.value.replace(/[\s ]+/g, ''),是什么意思 比如/[\s]是什么意思 elm是表单吧.将elm表单的值中的空白字符替换 replac ...

  8. Android静默安装和静默卸载代码

    静默顾名思义就是静静的默默地,静默安装和静默卸载的意思也就是说在后台默默地安装和卸载. 最近的一个app应用分发的项目中app下载的模块,下载完成之后,用户可以通过这个app进行安装,为了提高用户的体 ...

  9. CSS命名规范 BEM

    良好的代码结构,HTML和css元素之间的关系,对于项目交付是很重要的! BEM解释: (1).block 是BEM的区块(B),包含内容和风格.如bootstrap框架的.container. (2 ...

  10. Java Callable 与 Future