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. iOS: NSURLConnection详解

    摘要: NSURLConnection是iOS网络编程中一个比较旧的类,在需要兼容低版本的系统时,NSURLConnection也是一个不错的选择. 一.引言 在iOS7后,NSURLSession基 ...

  2. Python 字符串前面加'r'

    在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' . 例如,\n 在raw string中,是两个字符,\和n ...

  3. windows安装dcm4chee 出错 check file system group LOSSY_STORAGE for deletion

    错误情景: 解决方法: 更改服务的监听端口(参考DICOM:Ubuntu14环境下安装dcm4chee+oviyam2.1)

  4. 缩进与对齐——正确地使用Tab和空格

    写代码时大家都会使用缩进(indentation)和对齐(alignment),这是两个相关而又不同的概念,两者都是为了提高代码的可读性.缩进出现在一行的最左边,目的是明显地区分开包含与被包含的代码: ...

  5. 免费的多数据库管理工具sqldbx个人版本

    SqlDbx是一个先进的Sql编辑器和数据库对象资源管理器SqlDbx仅一个可执行的文件不需要安装 SqlDbx与SSMS对象内存占差的不是一点点,但功能与SSMS相当 优点:支持多数据库,占用内存小 ...

  6. github 排名前100的项目

    dotnet/roslyn The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Bas ...

  7. Pureftp SSL/TLS配置

    一.准备 & 安装 启用 Pure-FTPd SSL/TLS 连接方式在安装时需要检查以下两项: 1.系统中是否已经安装了 openssl 和 openssl-devel 包? 2.在编译 P ...

  8. mysql.sock文件的作用

    mysql.sock应该mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.Mysql有两种连接方式: (1)TCP/IP  (2 ...

  9. haproxy综合

    常见问题:haproxy启动报错Starting proxy : cannot bind socket?答:查看haproxy.conf配置文件发现其监听80跟apache冲突,而apache没在使用 ...

  10. Wince6.0模拟器下载和使用方法

    原文地址:http://www.oogps.com/post/Wince6.0.html下载地址:Wince6.0模拟器下载.rar 第一步:把软件下载解压后看到以下目录. 第二步:双击运行上图中的S ...