MFC-匈牙利命名法

MFC-匈牙利命名法

匈牙利命名法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

变量命名规范

前缀

类型

描述

实例

ch

char

8位字符

chGrade

ch

TCHAR

如果_UNICODE定义,则为16位字符

chName

b

BOOL

布尔值

bEnable

n

int

整型(其大小依赖于操作系统)

nLength

n

UINT

无符号值(其大小依赖于操作系统)

nHeight

w

WORD

16位无符号值

wPos

l

LONG

32位有符号整型

lOffset

dw

DWORD

32位无符号整型

dwRange

p

*

指针

pDoc

lp

FAR*

远指针

lpszName

lpsz

LPSTR

32位字符串指针

lpszName

lpsz

LPCSTR

32位常量字符串指针

lpszName

lpsz

LPCTSTR

如果_UNICODE定义,则为32位常量字符串指针

lpszName

h

handle

Windows对象句柄

hWnd

lpfn

callback

指向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

AFXAPI

MFC提供的函数

CALLBACK

通过指针回调的函数

库标识符命名法

标识符

值和含义

u

ANSI(N)或Unicode(U)

d

调试或发行:D = 调试;忽略标识符为发行。

静态库版本命名规范

描述

NAFXCWD.LIB

调试版本:MFC静态连接库

NAFXCW.LIB

发行版本:MFC静态连接库

UAFXCWD.LIB

调试版本:具有Unicode支持的MFC静态连接库

UAFXCW.LIB

发行版本:具有Unicode支持的MFC静态连接库

动态连接库命名规范

名称

类型

_AFXDLL

唯一的动态连接库(DLL)版本

WINAPI

Windows所提供的函数

Windows.h中新的命名规范

类型

定义描述

WINAPI

使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型

CALLBACK

使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置

LPCSTR

与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)

UINT

可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词

LRESULT

窗口程序返回值的类型

LPARAM

声明lParam所使用的类型,lParam是窗口程序的第四个参数

WPARAM

声明wParam所使用的类型,wParam是窗口程序的第三个参数

LPVOID

一般指针类型,与(void *)相同,可以用来代替LPSTR


      a               Array                                                                   数组   
      b               BOOL   (int)                                                         布尔(整数)   
      by             Unsigned   Char   (Byte)                                     无符号字符(字节)   
      c               Char                                                                     字符(字节)   
      cb             Count   of   bytes                                                 字节数   
      cr             Color   reference   value                                   颜色(参考)值   
      cx             Count   of   x   (Short)                                         x的集合(短整数)   
      dw             DWORD       (unsigned   long)                                   双字(无符号长整数)   
      f               Flags       (usually   multiple   bit   values)       标志(一般是有多位的数值)   
      fn             Function                                                             函数   
      g_             global                                                                 全局的   
      h               Handle                                                                 句柄   
      i               Integer                                                               整数   
      l               Long                                                                     长整数   
      lp             Long   pointer                                                     长指针   
      m_             Data   member   of   a   class                                 一个类的数据成员   
      n               Short   int                                                           短整数   
      p               Pointer                                                               指针   
      s               String                                                                 字符串   
      sz             Zero   terminated   String                                 以0结尾的字符串   
      tm             Text   metric                                                       文本规则   
      u               Unsigned   int                                                     无符号整数   
      ul             Unsigned   long   (ULONG)                                   无符号长整数   
      w               WORD   (unsigned   short)                                   无符号短整数   
      x,y           x,   y   coordinates   (short)                             坐标值/短整数   
      v               void                                                                     空   
    
    
    
  有关项目的全局变量用g_开始,类成员变量用m_,局部变量若函数较大则可考虑用l_用以显示说明其是局部变量。   
    
  前缀 类型 例子   
  g_ 全局变量 g_Servers   
  C 类或者结构体 CDocument,CPrintInfo   
  m_ 成员变量 m_pDoc,m_nCustomers   
   SH   Shell API 是Windows Shell的一个扩展, 提供大部分 Windows Explorer 所具备的功能, 也就是windows shell 的编程接口. 应该也是一个COM组件. 
  VC常用前缀列表:   
    
  前缀 类型 描述 例子   
  ch char 8位字符 chGrade   
  ch TCHAR 16位UNICODE类型字符 chName   
  b BOOL 布尔变量 bEnabled   
  n int 整型(其大小由操作系统决定) nLength   
  n UINT 无符号整型(其大小由操作系统决定) nLength   
  w WORD 16位无符号整型 wPos   
  l LONG 32位有符号整型 lOffset   
  dw DWORD 32位无符号整型 dwRange   
  p * Ambient   memory   model   pointer   内存模块指针,指针变量 pDoc   
  lp FAR* 长指针 lpDoc   
  lpsz LPSTR 32位字符串指针 lpszName   
  lpsz LPCSTR 32位常量字符串指针 lpszName   
  lpsz LPCTSTR 32位UNICODE类型常量指针 lpszName   
  h handle Windows对象句柄 hWnd   
  lpfn (*fn)() 回调函数指针   Callback   Far   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;   
    
  VC常用宏定义命名列表:   
    
  前缀 符号类型 符号例子 范围   
  IDR_ 标识多个资源共享的类型 IDR_MAINFRAME 1~0x6FFF   
  IDD_ 对话框资源(Dialog) IDD_SPELL_CHECK 1~   0x6FFF   
  HIDD_ 基于对话框的上下文帮助 HIDD_SPELL_CHECK 0x20001~0x26FF   
  IDB_ 位图资源(Bitmap) IDB_COMPANY_LOGO 1~0x6FFF   
  IDC_ 光标资源(Cursor) IDC_PENCIL 1~0x6FFF   
  IDI_ 图标资源(Icon) IDI_NOTEPAD 1~0x6FFF   
  ID_、IDM_ 工具栏或菜单栏的命令项 ID_TOOLS_SPELLING 0x8000~0xDFFF   
  HID_ 命令上下文帮助 HID_TOOLS_SPELLING 0x18000~0x1DFFF   
  IDP_ 消息框提示文字资源 IDP_INVALID_PARTNO 8~0xDFFF   
  HIDP_ 消息框上下文帮助 HIDP_INVALID_PARTNO 0x30008~0x3DFFF   
  IDS_ 字符串资源(String) IDS_COPYRIGHT 1~0x7FFF   
  IDC_ 对话框内的控制资源 IDC_RECALC 8~0xDFFF   
    
  Microsoft   MFC宏命名规范     
    
  名称 类型   
  _AFXDLL 唯一的动态连接库(Dynamic   Link   Library,DLL)版本   
  _ALPHA 仅编译DEC   Alpha处理器   
  _DEBUG 包括诊断的调试版本   
  _MBCS 编译多字节字符集   
  _UNICODE 在一个应用程序中打开Unicode   
  AFXAPI MFC提供的函数   
  CALLBACK 通过指针回调的函数     
    
  库标识符命名法   
      
  标识符 值和含义   
  u ANSI(N)或Unicode(U)   
  d 调试或发行:D   =   调试;忽略标识符为发行   
    
  静态库版本命名规范   
    
  库 描述   
  NAFXCWD.LIB 调试版本:MFC静态连接库   
  NAFXCW.LIB 发行版本:MFC静态连接库   
  UAFXCWD.LIB 调试版本:具有Unicode支持的MFC静态连接库   
  UAFXCW.LIB 发行版本:具有Unicode支持的MFC静态连接库   
    
  动态连接库命名规范     
    
  名称 类型   
  _AFXDLL 唯一的动态连接库(DLL)版本   
  WINAPI Windows所提供的函数   
    
  Windows.h中新的命名规范     
    
  类型 定义描述   
  WINAPI 使用在API声明中的FAR   PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型   
  CALLBACK 使用在应用程序回调程序,如窗口和对话框过程中的FAR   PASCAL的位置   
  LPCSTR 与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const   char   FAR*)   
  UINT 可移植的无符号整型类型,其大小由主机环境决定(对于Windows   NT和Windows   9x为32位);它是unsigned   int的同义词   
  LRESULT 窗口程序返回值的类型   
  LPARAM 声明lParam所使用的类型,lParam是窗口程序的第四个参数   
  WPARAM 声明wParam所使用的类型,wParam是窗口程序的第三个参数   
  LPVOID 一般指针类型,与(void   *)相同,可以用来代替LPSTR     
     

 


转载于:https://my.oschina.net/ypimgt/blog/60108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值