vc++ 中的匈牙利变量表示法

匈牙利表示法:
    它通过在每一个表示符名字的前面放置一个数据类型助记符,为程序员提供了对标识符的即时识别。
《1》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     hpalette    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        CRet         rect
    
《2》一般前缀命名规范
     前缀      类型          实例
     C         类或结构      CDocument,CPrintInfo
     m_        成员变量      m_pDoc, m_nCustomers

《3》变量名规范
     前缀  类型     描述                                    实例
     ch    char     8为字符                                 chGrade
     ch    TCHAR    如果_UNICODE定义,为16位字符            chName
     b     BOOL     布尔值                                  bEnabled
     n     int      整型(其大小依赖于操作系统)            nLength
     n     UNIT     无符号值(其大小依赖于操作系统)        nLength
     w     WORD     16位无符号值                            wPos
     l     LONG     32位有符号整型                          lOffset
     dw    DWORD    32位无符号整型                          dwRange
     p     *        指针                                    pDoc
     lp    FAR*     远指针                                  lpDoc
     lpsz  LPSTR     32位字符串指针                         lpszName
     lpsz  LPCTSTR   如果_UNICODE定义,位32位常量字符串指针 lpszName
     h     handle    Windows对象句柄                        hWnd
     lpfn  callback  指向CALLBACK函数的远指针               lpfnAbort

《4》应用程序符号命名规范
     前缀       符号类型                       实例              范围
     IDR_       不同类型的多个资源共享标识     IDR_MAINFRAME     1-0x6FFF
     IDD_       对话框资源                     IDD_SPELL_CHECK   ...
     HIDD_      对话框资源的Help上下文         HIDD_SPELL_CHECK  0X20001-0X26FF
     IDB_       位图资源                       IDB_COMPANY_LOGO  1-0X6FFF
     IDC_       光标资源                       IDC_PENCIL        ...
     IDI_       图表资源                       IDI_NOTEPAD       ...
     ID_        来自菜单项或工具栏的命令       ID_TOOLS_SPELLING 0x8000-0xDFFF 
     HID_       命令Help上下文                 HID_TOOLS_SPELLING ...
     IDP_       消息框提示                     IDP_INVALID_PARINO 8-0xDFFF
     HIDP_      消息框Help上下文               HIDP_INVALID_PARINO 0X30008-0x3DFFF
     IDS_       串资源                         IDS_COPYRIGHT       1-0x7FFF
     IDC_       对话框内的控件                 IDC_RECALC          8-0xDFFF

《5》Microsoft MFC宏命名规范
     名称     类型
     _AFXDLL  唯一的动态连接库(Dynamic Link Library)版本
     _ALPHA   仅编译DEC Alpha处理器
     _DEBUG   包括诊断的调式版本
     _MBCS    编译多字节字符集
     _UNICODE 在一个应用程序中打开Unicode
     AFXAPI   MFC提供的函数
     CALLBACK 通过指针回调的函数

《6》库标识命名规范
     指示符   值和含义
     u        ANSI(N)或Unicodeu(U)
     d        调试或发行:D=调式;忽略指示符为发行

《7》静态库版本命名规范
     库             描述
     NAFXCWD.LIB    调试版本:MFC静态连接库
     NAFXCW.LIB     发行...
     UAFXCWD.LIB    调试版本:具有Unicode支持的MFC静态连接库
     UAFXCW.LIB     发行...
    
《8》动态库连接命名规范
     名称     类型
     _AFXDLL  唯一的动态连接库(DLL)版本
     WINAPI   Windows所提供的函数
    
《9》Windows.h命名规范
     类型定义      描述
     WINAPI        使用在API 声明的FAR PASCAL位置,如果正在编写一个具有导出API入口点的DLL,则可以在
                   自己的API中使用该类型
     CALLBACK      使用在应用程序回叫例程如窗口和对话框中的FAR PASCAL位置
     LPCSTR        与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似于(const char FAR*)
     UNIT          与可移值的无符号整型类型,其大小由主机环境决定(对Windows NT和Windows 95为32位)。
                   它是unsigned int的同义词,使用WORD位置,在一个32位的平台上希望得到一个16为无符号值
                   的极少数情况除外
     LRESULT       窗口程序返回值的类型
     LPARAM        声明lParam所使用的类型,lParam 是窗口程序的第四个参数
     WPARAM        声明wParam所使用的类型, wParam是窗口程序的第三个参数(一种组合数据类型)
     LPVOID        一般的指针类型,与(void*)等同。应该使用它来代替LPSTR。


posted @ 2011-06-27 11:42  心随灵动  阅读(246)  评论(0编辑  收藏  举报