VC++常用命名法和宏定义
来源:互联网 发布:薛之谦 周杰伦 知乎 编辑:程序博客网 时间:2024/06/06 05:22
匈牙利命名法规则
一般情况下,变量的取名方式为:
<scope_> + <prefix_> + <qualifier>。
范围前缀_,类型前缀_,限定词。
特殊的类型命名,前缀表示:
类、接口
前缀
类型
例子
备注
Lm
Class
LmObject
表示类型本身
不与范围前缀结合使用
I
Interface 接口
IUnknown
注:类名前缀改为Lm,对于非全局的类最好有语义表示其所属模块。类的实例命名与类名大致相同,只是类名语义表示类的通用含义,而类名表示此实例的具体语义。如类名LmSketPoint表示草图点的类定义,而它的两个实例 _StartPoint,_EndPoint分别代表起点和终点的语义。类的实例命名带上前缀_。
特殊约定:
a. MouseTool的派生类的前缀为_Mt.
b. 对话框类的前缀为CDlg.
c. 橡皮条类的前缀为_Rb.
凡围前缀:
前缀
类型
例子
备注
g_
全局作用域
g_Servers
m_
成员变量
m_pDoc,
l_
局部作用域
l_strName
少用
注:编程时尽量少用全程变量,对于全程变量还应在类型前缀后加上如下关键字:
特征模块
草图模块
装配模块
工程图模块:
曲面模块
界面模块
前缀
类型
内存规格描述
例子
ch
char
8-bit character
chGrade
ch
TCHAR
16-bit character if _UNICODE is defined
chName
b
BOOL
Boolean value
bEnabled
n
int
Integer (size dependent on operating system)
nLength
n
UINT
Unsigned value (size dependent on operating system)
nLength
w
WORD
16-bit unsigned value
wPos
l
LONG
32-bit signed integer
lOffset
dw
DWORD
32-bit unsigned integer
dwRange
p
*
Ambient memory model pointer
pDoc
lp
FAR*
Far pointer
lpDoc
lpsz
LPSTR
32-bit pointer to character string
lpszName
lpsz
LPCSTR
32-bit pointer to constant character string
lpszName
lpsz
LPCTSTR
32-bit pointer to constant character string if _UNICODE is defined
lpszName
h
handle
Handle to Windows object
hWnd
lpfn
(*fn)()
callbackFar pointer to CALLBACK function
lpfnAbort
常用Windows对象名称缩写
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
hPalette;
CPalette*
pPalette;
HRGN
hRgn;
CRgn*
pRgn;
HMENU
hMenu;
CMenu*
pMenu;
HWND
hCtl;
CStatic*
pStatic;
HWND
hCtl;
CButton*
pBtn;
HWND
hCtl;
CEdit*
pEdit;
HWND
hCtl;
CListBox*
pListBox;
HWND
hCtl;
CComboBox*
pComboBox;
Visual C++常用宏定义命名列表
前缀
符号类型
符号例子
范围
IDR_
标识多个资源共享的类型
IDR_MAINFRAME
1 to 0x6FFF
IDD_
对话框资源(Dialog)
IDD_SPELL_CHECK
1 to 0x6FFF
IDB_
位图资源(Bitmap)
IDB_COMPANY_LOGO
1 to 0x6FFF
IDC_
光标资源(Cursor)
IDC_PENCIL
1 to 0x6FFF
IDI_
图标资源(Icon)
IDI_NOTEPAD
1 to 0x6FFF
ID_IDM_
工具栏或菜单栏的命令项
ID_TOOLS_SPELLING
0x8000 to 0xDFFF
HID_
命令上下文帮助(Command Help context)
HID_TOOLS_SPELLING
0x18000 to 0x1DFFF
IDP_
消息框提示文字资源
IDP_INVALID_PARTNO
8 to 0xDFFF
HIDP_
消息框上下文帮助(Message-box Help context)
HIDP_INVALID_PARTNO
0x30008 to 0x3DFFF
IDS_
字符串资源(String)
IDS_COPYRIGHT
1 to 0x7FFF
IDC_
对话框内的控制资源(Control)
IDC_RECALC
8 to 0xDFFF
- VC++常用命名法和宏定义
- VC++常用命名法和宏定义
- 宏定义 命名规范和常用的
- VC宏定义 及常用宏定义说明
- 常用命名法:骆驼命名法,匈牙利命名法和帕斯卡命名法
- 常用命名法:骆驼命名法,匈牙利命名法和帕斯卡命名法
- 常用命名法:骆驼命名法,匈牙利命名法和帕斯卡命名法
- VC中的预处理和宏定义
- VC匈牙利命名法
- VC++匈牙利命名法
- VC编程命名规则---[ 匈牙利命名法]
- VC编程命名规则---[ 匈牙利命名法]
- cocos2dx 常用函数和宏定义
- Cocos2dx 常用函数和宏定义
- cocos2dx 常用函数和宏定义
- 常用宏定义和设备的判断
- cocos2dx 常用函数和宏定义
- cocos2dx 常用函数和宏定义
- strcat memset strcpy strncat等等的总结
- 关于ASSERT(断言)使用的规则--摘自《高质量C/C++编程指南》
- 关于指针的加减操作的理解
- 怎样才能检测到链表中存在循环
- assert函数和捕获异常
- VC++常用命名法和宏定义
- Afx全局函数及MFC常见数据类型
- MochiWeb : an Erlang library for building lightweight HTTP servers
- C/C++宏及基本数据类型
- Windows SDK的数据类型定义和宏定义
- C++位操作介绍
- 位操作基础篇之位操作全面总结
- c++位运算
- C++:位操作基础篇之位操作全面总结