Windows及VC程式設計命名規則
阿新 • • 發佈:2018-12-22
小結:匈牙利命名法
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 hPaltte;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;CRect rect;
一般字首命名規範 字首 型別 例項
C 類或結構 CDocument,CPrintInfo
m_ 成員變數 m_pDoc,m_nCustomers
變數命名規範字首 型別 描述 例項
chchar 8位字元 chGrade
chTCHAR 如果_UNICODE定義,則為16位字元 chName
bBOOL 布林值 bEnable
nint 整型(其大小依賴於作業系統) nLength
nUINT無符號值(其大小依賴於作業系統) nHeight
wWORD 16位無符號值 wPos
lLONG 32位有符號整型 lOffset
dwDWORD 32位無符號整型 dwRange
p* 指標 pDoc
lpFAR* 遠指標 lpszName
lpszLPSTR 32位字串指標 lpszName
lpszLPCSTR 32位常量字串指標 lpszName
lpszLPCTSTR 如果_UNICODE定義,則為32位常量字串指標 lpszName
hhandle Windows物件控制代碼 hWnd
lpfncallback 指向CALLBACK函式的遠指標
資源型別命名規範字首 符號型別 例項 範圍
IDR_不同型別的多個資源共享標識IDR_MAIINFRAME 1~0x6FFF
IDD_對話方塊資源IDD_SPELL_CHECK 1~0x6FFF
HIDD_對話方塊資源的Help上下文HIDD_SPELL_CHECK 0x20001~0x26FF
IDB_點陣圖資源IDB_COMPANY_LOGO 1~0x6FFF
IDC_游標資源IDC_PENCIL 1~0x6FFF
IDI_圖示資源IDI_NOTEPAD 1~0x6FFF
ID_來自選單項或工具欄的命令ID_TOOLS_SPELLING 0x8000~0xDFFF
HID_命令Help上下文HID_TOOLS_SPELLING 0x18000~0x1DFFF
IDP_訊息框提示IDP_INVALID_PARTNO 8~0xDEEF
HIDP_訊息框Help上下文HIDP_INVALID_PARTNO 0x30008~0x3DEFF
IDS_串資源IDS_COPYRIGHT 1~0x7EEF
IDC_對話方塊內的控制元件IDC_RECALC 8~0xDEEF
Microsoft MFC巨集命名規範 名稱 型別
_AFXDLL唯一的動態連線庫(Dynamic Link Library,DLL)版本
_ALPHA僅編譯DEC Alpha處理器
_DEBUG包括診斷的除錯版本
_MBCS編譯多位元組字符集
_UNICODE在一個應用程式中開啟Unicode
AFXAPIMFC提供的函式
CALLBACK通過指標回撥的函式
庫識別符號命名法識別符號 值和含義
uANSI(N)或Unicode(U)
d除錯或發行:D = 除錯;忽略識別符號為發行。
靜態庫版本命名規範庫 描述
NAFXCWD.LIB除錯版本:MFC靜態連線庫
NAFXCW.LIB發行版本:MFC靜態連線庫
UAFXCWD.LIB除錯版本:具有Unicode支援的MFC靜態連線庫
UAFXCW.LIB發行版本:具有Unicode支援的MFC靜態連線庫
動態連線庫命名規範名稱 型別
_AFXDLL唯一的動態連線庫(DLL)版本
WINAPIWindows所提供的函式
Windows.h中新的命名規範型別 定義描述
WINAPI使用在API宣告中的FAR PASCAL位置,如果正在編寫一個具有匯出API人口點的DLL,則可以在自己的API中使用該型別
CALLBACK使用在應用程式回叫例程,如視窗和對話方塊過程中的FAR PASCAL的位置
LPCSTR與LPSTR相同,只是LPCSTR用於只讀串指標,其定義類似(const char FAR*)
UINT可移植的無符號整型型別,它是unsigned int的同義詞
LRESULT視窗程式返回值的型別
LPARAM宣告lParam所使用的型別,lParam是視窗程式的第四個引數
WPARAM宣告wParam所使用的型別,wParam是視窗程式的第三個引數
LPVOID一般指標型別,與(void *)相同,可以用來代替LPSTR
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 hPaltte;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;CRect rect;
一般字首命名規範
C 類或結構 CDocument,CPrintInfo
m_ 成員變數 m_pDoc,m_nCustomers
變數命名規範字首 型別 描述 例項
chchar 8位字元 chGrade
chTCHAR 如果_UNICODE定義,則為16位字元 chName
bBOOL 布林值 bEnable
nint 整型(其大小依賴於作業系統) nLength
nUINT無符號值(其大小依賴於作業系統) nHeight
wWORD 16位無符號值 wPos
lLONG 32位有符號整型 lOffset
dwDWORD 32位無符號整型 dwRange
p* 指標 pDoc
lpFAR* 遠指標 lpszName
lpszLPSTR 32位字串指標 lpszName
lpszLPCSTR 32位常量字串指標 lpszName
lpszLPCTSTR 如果_UNICODE定義,則為32位常量字串指標 lpszName
hhandle Windows物件控制代碼 hWnd
lpfncallback 指向CALLBACK函式的遠指標
資源型別命名規範字首
IDR_不同型別的多個資源共享標識IDR_MAIINFRAME 1~0x6FFF
IDD_對話方塊資源IDD_SPELL_CHECK 1~0x6FFF
HIDD_對話方塊資源的Help上下文HIDD_SPELL_CHECK 0x20001~0x26FF
IDB_點陣圖資源IDB_COMPANY_LOGO 1~0x6FFF
IDC_游標資源IDC_PENCIL 1~0x6FFF
IDI_圖示資源IDI_NOTEPAD 1~0x6FFF
ID_來自選單項或工具欄的命令ID_TOOLS_SPELLING 0x8000~0xDFFF
HID_命令Help上下文HID_TOOLS_SPELLING 0x18000~0x1DFFF
IDP_訊息框提示IDP_INVALID_PARTNO 8~0xDEEF
HIDP_訊息框Help上下文HIDP_INVALID_PARTNO 0x30008~0x3DEFF
IDS_串資源IDS_COPYRIGHT 1~0x7EEF
IDC_對話方塊內的控制元件IDC_RECALC 8~0xDEEF
Microsoft MFC巨集命名規範
_AFXDLL唯一的動態連線庫(Dynamic Link Library,DLL)版本
_ALPHA僅編譯DEC Alpha處理器
_DEBUG包括診斷的除錯版本
_MBCS編譯多位元組字符集
_UNICODE在一個應用程式中開啟Unicode
AFXAPIMFC提供的函式
CALLBACK通過指標回撥的函式
庫識別符號命名法識別符號 值和含義
uANSI(N)或Unicode(U)
d除錯或發行:D = 除錯;忽略識別符號為發行。
靜態庫版本命名規範庫 描述
NAFXCWD.LIB除錯版本:MFC靜態連線庫
NAFXCW.LIB發行版本:MFC靜態連線庫
UAFXCWD.LIB除錯版本:具有Unicode支援的MFC靜態連線庫
UAFXCW.LIB發行版本:具有Unicode支援的MFC靜態連線庫
動態連線庫命名規範名稱 型別
_AFXDLL唯一的動態連線庫(DLL)版本
WINAPIWindows所提供的函式
Windows.h中新的命名規範型別 定義描述
WINAPI使用在API宣告中的FAR PASCAL位置,如果正在編寫一個具有匯出API人口點的DLL,則可以在自己的API中使用該型別
CALLBACK使用在應用程式回叫例程,如視窗和對話方塊過程中的FAR PASCAL的位置
LPCSTR與LPSTR相同,只是LPCSTR用於只讀串指標,其定義類似(const char FAR*)
UINT可移植的無符號整型型別,它是unsigned int的同義詞
LRESULT視窗程式返回值的型別
LPARAM宣告lParam所使用的型別,lParam是視窗程式的第四個引數
WPARAM宣告wParam所使用的型別,wParam是視窗程式的第三個引數
LPVOID一般指標型別,與(void *)相同,可以用來代替LPSTR