匈牙利表示法:它通過在每一個表示符名字的前面放置一個數(shù)據(jù)類型助記符,為程序員提供了對標識符的即時識別。
《1》MFC、句柄、控件及結(jié)構(gòu)的命名規(guī)則。
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》一般前綴命名規(guī)范
前綴 類型 實例
C 類或結(jié)構(gòu) CDocument,CPrintInfo
m_ 成員變量 m_pDoc, m_nCustomers
《3》變量名規(guī)范
前綴 類型 描述 實例
ch char 8為字符 chGrade
ch TCHAR 如果_UNICODE定義,為16位字符 chName
b BOOL 布爾值 bEnabled
n int 整型(其大小依賴于操作系統(tǒng)) nLength
n UNIT 無符號值(其大小依賴于操作系統(tǒng)) 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函數(shù)的遠指針 lpfnAbort
《4》應用程序符號命名規(guī)范
前綴 符號類型 實例 范圍
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_ 對話框內(nèi)的控件 IDC_RECALC 8-0xDFFF
《5》Microsoft MFC宏命名規(guī)范
名稱 類型
_AFXDLL 唯一的動態(tài)連接庫(Dynamic Link Library)版本
_ALPHA 僅編譯DEC Alpha處理器
_DEBUG 包括診斷的調(diào)式版本
_MBCS 編譯多字節(jié)字符集
_UNICODE 在一個應用程序中打開Unicode
AFXAPI MFC提供的函數(shù)
CALLBACK 通過指針回調(diào)的函數(shù)
《6》庫標識命名規(guī)范
指示符 值和含義
u ANSI(N)或Unicodeu(U)
d 調(diào)試或發(fā)行:D=調(diào)式;忽略指示符為發(fā)行
《7》靜態(tài)庫版本命名規(guī)范
庫 描述
NAFXCWD.LIB 調(diào)試版本:MFC靜態(tài)連接庫
NAFXCW.LIB 發(fā)行...
UAFXCWD.LIB 調(diào)試版本:具有Unicode支持的MFC靜態(tài)連接庫
UAFXCW.LIB 發(fā)行...
《8》動態(tài)庫連接命名規(guī)范
名稱 類型
_AFXDLL 唯一的動態(tài)連接庫(DLL)版本
WINAPI Windows所提供的函數(shù)
《9》Windows.h命名規(guī)范
類型定義 描述
WINAPI 使用在API 聲明的FAR PASCAL位置,如果正在編寫一個具有導出API入口點的DLL,則可以在
自己的API中使用該類型
CALLBACK 使用在應用程序回叫例程如窗口和對話框中的FAR PASCAL位置
LPCSTR 與LPSTR相同,只是LPCSTR用于只讀串指針,其定義類似于(const char FAR*)
UNIT 與可移值的無符號整型類型,其大小由主機環(huán)境決定(對Windows NT和Windows 95為32位)。
它是unsigned int的同義詞,使用WORD位置,在一個32位的平臺上希望得到一個16為無符號值
的極少數(shù)情況除外
LRESULT 窗口程序返回值的類型
LPARAM 聲明lParam所使用的類型,lParam 是窗口程序的第四個參數(shù)
WPARAM 聲明wParam所使用的類型, wParam是窗口程序的第三個參數(shù)(一種組合數(shù)據(jù)類型)
LPVOID 一般的指針類型,與(void*)等同。應該使用它來代替LPSTR。