匈牙利命名法关键是:
标识符的名字以一个或者多个小写字母开头作为前缀;
前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
前缀 | 类型 |
a | 数组 (Array) |
b | 布尔值 (Boolean) |
by | 字节 (Byte) == 8 bit |
c | 有符号字符 (Char) |
cb | 无符号字符 (Char Byte,没有多少人用) |
cr | 颜色参考值 (ColorRef) |
cx,cy | 坐标差(长度 ShortInt) |
dw | 双字 (Double Word) == 4 Byte == 4 * 8 bit |
fn | 函数(function) |
h | 句柄(Handle) |
i | 整型(int) |
l | 长整型 (Long int) |
lp | 长指针(Long Pointer) |
m_ | 类的成员(member of a class) |
n | 短整型 (Short Int) |
np | 近指针(Near Pointer) |
p | 指针(Pointer) |
s | 字符串型(string) |
sz | 以字符''结尾的字符串 (String with Zero End) |
w | 字(Word) == 2 Byte == 2 * 8 bit |
MFC命名规则:
Windows类型
|
样本变量
|
MFC类
|
样本变量
|
HWND
|
hWnd
;
|
CWnd*
|
pWnd
;
|
HDLG
|
hDlg
;
|
CDialog*
|
pDlg
;
|
HDC
|
hDC
;
|
CDC*
|
pDC
;
|
HGDIOBJ
|
hGdiObj
;
|
CGdiObject*
|
pGdiObj
;
|
HPEN
|
hPen
;
|
CPen*
|
pPen
;
|
HBRUSH
|
hBrush
;
|
CBrush*
|
pBrush
;
|
HFONT
|
hFont
;
|
CFont*
|
pFont
;
|
HBITMAP
|
hBitmap
;
|
CBitmap*
|
pBitmap
;
|
HPALETTE
|
hPaltte
;
|
CPalette*
|
pPalette
;
|
HRGN
|
hRgn
;
|
CRgn*
|
pRgn
;
|
HMENU
|
hMenu
;
|
CMenu*
|
pMenu
;
|
HWND
|
hCtl
;
|
CState*
|
pState
;
|
HWND
|
hCtl
;
|
CButton*
|
pButton
;
|
HWND
|
hCtl
;
|
CEdit*
|
pEdit
;
|
HWND
|
hCtl
;
|
CListBox*
|
pListBox
;
|
HWND
|
hCtl
;
|
CComboBox*
|
pComboBox
;
|
HWND
|
hCtl
;
|
CScrollBar*
|
pScrollBar
;
|
HSZ
|
hszStr
;
|
CString
|
pStr
;
|
POINT
|
pt
;
|
CPoint
|
pt
;
|
SIZE
|
size
;
|
CSize
|
size
;
|
RECT
|
rect
;
|
CRect
|
rect
;
|
vc资源名字定义格式:
菜单: IDM_XX //M:Menu
位图: IDB_XX //B:Bitmap
对话框: IDD_XX //D:Dialog
字符串
: IDS_XX //S:String
ICON: IDI_XX //I:Icon
按钮控件
: IDC_BTN_XX //BTN:Button
编辑控件
: IDC_EDT_XX //EDT:EditBox
列表控件: IDC_LST_XX //LST:ListCtrl
树表控件: IDC_TRE_XX //TRE:TreeCtrl
富文本控件: IDC_RCH_XX //RCH:RichEdit
静态本控件: IDC_STT_XX //STT:StaticText
组合框控件: IDC_CMB_XX //CMB:ComboBox
滚动条控件: IDC_SCR_XX //SCR:ScrollBar
滑动条控件: IDC_SLD_XX //SLD:Slider
多选项控件: IDC_CHK_XX //CHK:CheckBox
单选项控件: IDC_RDB_XX //RDB:RadioButton