匈牙利命名法关键是:
标识符的名字以一个或者多个小写字母开头作为前缀;
前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
前缀 | 类型 |
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