匈牙利表示法:它通過在每一個表示符名字的前面放置一個數據類型助記符,為程序員提供了對標識符的即時識別。
《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。