VC++常用命名法和宏定义
来源:互联网 发布:网络短信免费发送 编辑:程序博客网 时间:2024/05/30 04:48
匈牙利命名法规则
一般情况下,变量的取名方式为:
<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 常用函数和宏定义
- 学习springmvc的第十天(保存)
- AngularJS-1-helloworld
- ubuntu 16.04 搭建 pptp vpn
- 六.scrapy crawlspider
- Makefile:160: recipe for target 'all' failed (Ubuntu 16.06 + Opencv3.2)解决办法
- VC++常用命名法和宏定义
- 设计模式->行为型模式->状态模式
- iOS之一则形象说明,完美诠释内存管理机制
- Java常量的探索
- 浅谈协方差矩阵
- 马里奥派对
- Python中的列表方法
- AngularJS—拦截器和好棒的例子
- 阿里巴巴矢量图的使用