[持续更新]Windows Programming常见Hungarian Notation/Abbreviation大全
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大全的更多相关文章
- SQL Server 2008 常见异常收集(持续更新)
写在前面: 最近,在使用SQL Server 2008时,出现了不少问题.发现,很多问题都是以前碰见过的,并且当时也寻找到了解决方法(绝大部分来源于“百度”与“Google”),只是时间一长,又忘记了 ...
- Android源码编译常见错误(持续更新)
本文为个人工作中处理遇到的编译问题做个小结,后续遇到新的问题,持续更新. No such file or directory: 1. 检查路径是否有问题,文件是否存在,若文件存在且路径没问题 2. 检 ...
- (持续更新) C# 面试技术点、常见SQL技术点 和 解决高并发的相关技术
这篇博客 持续更新. 方便小伙伴们学习与面试前的复习
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
- 【持续更新】JavaScript常见面试题整理
[重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...
- LeetCode All in One题解汇总(持续更新中...)
突然很想刷刷题,LeetCode是一个不错的选择,忽略了输入输出,更好的突出了算法,省去了不少时间. dalao们发现了任何错误,或是代码无法通过,或是有更好的解法,或是有任何疑问和建议的话,可以在对 ...
- web前端面试题(持续更新)
此文是我本人在面试的时候遇到的问题和一些同学遇到的问题加资料上面的问题的总结.(将会持续更新,因为未有满意工作) 面试时有几点需要注意: 1.面试题目:根据你的等级和职位的变化,入门级到大神级,广度和 ...
- 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的无状态模 ...
- Android 常用开源库总结(持续更新)
前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 TextView HTextView 一 ...
随机推荐
- JDBC的批量插入操作
在今天之前,当我遇到需要使用JDBC对数据库进行批量插入操作的时候,我使用的方法如下: ①使用Connection建立数据库连接: ②使用PreparedStatement提交SQL语句,将数据插入: ...
- Unity3d笔试题大全
1. [C#语言基础]请简述拆箱和装箱. 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程. 1.在堆中开辟内存空间. 2.将值类型的数据复制到堆中. ...
- HTML5移动web横屏字体变大
html{ -webkit-text-size-adjust:none; -ms-text-size-adjust:none; -moz--text-size-adjust:none; text-si ...
- 格式化Curl返回的Json字符
格式化Curl返回的Json字符 学习了:https://blog.csdn.net/guijiaoba/article/details/78235523 , 使用python工具 curl xxx ...
- Transform数据权限浅析1之mdl语句批量加载权限
Cognos建模工具除了Framework之外,还有一个Transform,两者的最大区别就是在于Framework是通过结构直连关系数据库的,数据根据数据仓库的变化而变化,而Transform是生产 ...
- win10 mysql57密码重置
[摘要: 1.my-default.ini 更名my.ini 正在解压的目次上面复造my-default.ini一份更名字为 my.ini. 2.翻开 Windows 情况变量设置, 新建变量名 MY ...
- 使用js的indexOf,lastIndexOf,slice三函数轻易得到url的服务器,路径和页名
js的indexOf,lastIndexOf,slice能帮我们在js字符串处理时少走一些弯路. 程序如下: var url="http://www.cnblogs.com/xiandeda ...
- .NET破解之爱奇迪(三)
本教程只能用于学习研究,不可进行任何商业用途.如有使用,请购买正版,尊重他人劳动成果和知识产权! .NET破解之爱奇迪(一) .NET破解之爱奇迪(二) 一打开软件,就看到各种注册和未注册提示信息,就 ...
- [置顶] 关于Qt的学习
初学习QT,希望用此来记录学习的轨迹....... 1.Qt版本为Qt5.1.0 2.使用Qt-Creator进行变成. 3.第一个例子 打印出“Hello World” 3.1 打开Qt-Crea ...
- [Python]datetime常用的几个操作
#coding: utf-8 ''' 日期相关的操作 ''' from datetime import datetime from datetime import timedelta DATE_FMT ...