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