`
thank55789
  • 浏览: 28937 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Vc中 windows 常用的数据类型

阅读更多
匈牙利命名法
Microsoft采用匈牙利命名法来命名Windows   API函数和变量。匈牙利命名法是由Microsoft的著名开发人员、Excel的主要设计者查尔斯·西蒙尼在他的博士论文中提出来的,由于西蒙尼的国籍是匈牙利,所以这种命名法叫匈牙利命名法。
匈牙利命名法为C标识符的命名定义了一种非常标准化的方式,这种命名方式是以两条规则为基础的:
1、标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。下表列出了常用的数据类型的标准前缀:
在Windows里定义数据类型的一些标准前缀
前缀 数据类型
c 字符(char)
s 短整数(short)
cb 用于定义对象(一般为一个结构)尺寸的整数
n 整数(integer)
sz 以’\0’结尾的字符串
b 字节
i int(整数)
x 短整数(坐标x)
y 短整数(坐标y)
f BOOL
w 字(WORD,无符号短整数)
l 长整数(long)
h HANDLE(无符号int)
m_ 类成员变量
fn 函数(function)
dw 双字(DWORD,无符号长整数)
 
2、在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词清楚地指出了源代码内那个对象的用途。比如,m_szStudentName表示一个学生名字的类成员变量,数据类型是字符串型。
  
3、全程函数以“Afx”为前缀,所有全程变量都是以“afx”为前缀,宏不带任何特别前缀,但是全部大写。常见的全局函数和宏有:AfxGetApp,AfxGetMainWnd,AfxMessageBox,DEBUG_NEW等。

变量命名
  
命名必须具有一定的实际意义,形式为xAbcFgh,x由变量类型确定,Abc、Fgh表示连续意
义字符串,如果连续意义字符串仅两个,可都大写.如OK.
  
具体例程:
  
BOOL类型                                     bEnable;
  
  
  
ch             *                             char                                                         chText
c             *                             类对象                                                     cMain(对象实例)
h             *                             Handle(句柄)                                     hWnd
i             *                             int
n             *                             无符号整型
p             *                             指针
sz,str     *                             字符串
w                                             WORD
x,y                                         坐标
  
Char或者TCHAR类型                 与Windows   API有直接联系的用szAppName[10]形式否则用
FileName[10]形式,单个字符也可用小写字母表示;
  
Int类型                 nCmdShow;
  
LONG类型                 lParam;
  
UINT类型                  uNotify;
  
DWORD类型                  dwStart;
  
PSTR类型                    pszTip;
  
LPSTR类                     lpCmdLine
  
LPTSTR类型                   lpszClassName;
  
LPVOID类型                  lpReserved
  
WPARAM类型                    wParam,
  
LPARAM类型                   lParam
  
HWND类型                     hDlg;
  
HDC类型                       hDC;
  
HINSTANCE类型                 hInstance
  
HANDLE类型                   hInstance,
  
HICON类型                     hIcon;
  
int                          iTmp
  
float                         fTmp
  
DWORD                        dw*
  
String   ,   AnsiString            str   *
m_                                类成员变量
m_nVal,                        m_bFlag
g_                                全局变量
g_nMsg,                      g_bFlag
  
局部变量中可采用如下几个通用变量:nTemp,nResult,I,J(一般用于循环变量)。
  
其他资源句柄同上
  
.3常量命名和宏定义
  
      常量和宏定义必须具有一定的实际意义;
  
常量和宏定义在#include和函数定义之间;
  
常量和宏定义必须全部以大写字母来撰写,中间可根据意义的连续性用下划线连接,每一
条定义的右侧必须有一简单的注释,说明其作用;
  
资源名字定义格式:
  
菜单:IDM_XX或者CM_XX
  
位图:IDB_XX
  
对话框:IDD_XX
  
字符串:IDS_XX
  
DLGINIT:DIALOG_XX
  
      ICON:IDR_XX
  
.4函数命名
  
函数原型说明包括引用外来函数及内部函数,外部引用必须在右侧注明函数来源:   模
块名及文件名,   如是内部函数,只要注释其定义文件名;
  
第一个字母必须使用大写字母,要求用大小写字母组合规范函数命名,必要时可用下划线
间隔,示例如下:
  
void   UpdateDB_Tfgd (TRACK_NAME);    //Module Name :r01/sdw.c
  
void    PrintTrackData   (TRACK_NAME); //Module   Name   :r04/tern.c
  
void    ImportantPoint (void);    //Module    Name   :r01/sdw.c
  
void    ShowChar (int , int , chtype); //Local     Module
  
void    ScrollUp_V    (int   , int)         //Local     Module
  
.5结构体命名
  
结构体类型命名必须全部用大写字母,原则上前面以下划线开始;结构体变量命名必须用
大小写字母组合,第一个字母必须使用大写字母,必要时可用下划线间隔。对于私有数
据区,必须注明其所属的进程。全局数据定义只需注意其用途。
  
                                          示例如下:
  
                                          typedef   struct
  
                                          {
  
                                                             char             szProductName[20];
  
                                                          char              szAuthor[20];
  
  
                                                          char                szReleaseDate[16];
  
                                                          char                  szVersion[10];
  
                                                          unsigned   long        MaxTables;
  
                                                          unsigned   long         UsedTables;
  
}DBS_DATABASE;
  
DBS_DATABASE   GdataBase;
分享到:
评论
1 楼 test_lockxxx 2012-07-09  
这文章不错。

相关推荐

    VC CString最全面的总结 常用数据类型使用转换详解等总结

    VC常用数据类型使用转换详解 15 一、其它数据类型转换为字符串 15 二、从其它包含字符串的变量中获取指向该字符串的指针 16 三、字符串转换为其它数据类型 16 四、其它数据类型转换到CString 16 五、BSTR、_bstr_t与...

    VC中常用数据类型介绍

    介绍VC数据类型 如: 标识符 实际类型 意义 CHAR char 8位Windows(ANSI)字符。 CCHAR char 8位Windows(ANSI)字符。 PSZ char* 一个以"NULL"结束的Windows字符串的指针 {转载的,混点分真不容易}

    VC6.0显示PNG图片

    其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。 (2)在应用类中添加...

    VC读取串口数据,操作数据 串口操作API

    是windows2000 下效率较高的一种方式。而且只熟悉这些api 函数也还是不够的,该机制下还要牵涉到多线 程和消息机制,其中读写串口的动作是由主线程来完成的,比如说操作者按下发送数据的按钮之后,相应函 数马上将某...

    SegeX SgxVariant:VC封装支持多维数组的变体类型(VRIANT 、SafeArray)(免费免积分)

    VRIANT变体类型是Com技术中的一种标准数据类型,Vb中的变体也是这种类型,在针对Com编程过程中,比如AutoCAD、Surfer、Excel、Word中使用自动化Automation(OLE)功能时,经常遇到VARIANT数组的情况,在VC中使用...

    VC常用操作源码汇总(推荐).doc

    OLE控件中使用OLE_COLOR数据类型 28 在不使用通用文件打开对话的情况下如何显示一个文件列表 28 旋转按钮控件 29 用位图显示下压按钮 29 创建三态下压按钮 30 如何动态创建控件 30 限制编辑框中的准许字符 30 向列表...

    VC++常用功能实例

    VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...

    VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:

    本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; ...

    VC6 SP6 Plus 2011/02/12 (Part 2 of 4)

    1. 相当好用,主要是集成了Windows 2003的SDK,以前很多只能够用VS2008来编译的都可以用VC6来编译了。 2. 很好的支持了汇编 3. 直接搞定了Visual Assist X及WinTabs,实在太方便了 4. 便携版的安装及卸载超级简单。 ...

    VC学习大纲 VC学习讲义

    如何利用命名互斥保证只有一份程序实例被运行,结合多线程,网络编程,自定义消息,数据类型转换,如何改变文本框对回车的默认处理方式等技术编写网络聊天程序。 第十八课: 动态连接库程序的编写,库函数的两种输出...

    VC C++编程例子解析及学习经验集合

    一些不常见的VC数据类型  window编程的内部分析  改变控件的字体颜色和背景色  程序设计专业问与答  得到应用程序自身的文件名  用代码隐藏、最小化、最大化窗口  动态改变对话框的宽度...

    Windows防火墙与网络封包截获技术源代码

    第二部分讨论局域网的一般性问题,内容包括局域网实现过程中常用的拓扑结构和传输介质、局域网协议体系结构以及LLC的详细内容。第三部分是本书的重点,主要介绍五种相关类型的局域网,内容包括以太网、令牌环网、...

    VC6 SP6 Plus 2011/02/12 (Part 3 of 4)

    1. 相当好用,主要是集成了Windows 2003的SDK,以前很多只能够用VS2008来编译的都可以用VC6来编译了。 2. 很好的支持了汇编 3. 直接搞定了Visual Assist X及WinTabs,实在太方便了 4. 便携版的安装及卸载超级简单。 ...

    VC驿站基础班无KEY高清C++教程下载地址

    ③、CString常用操作讲解。 3、模态对话框与非模态对话框 ①、模态与非模态对话框的创建; ②、新对话框的初始化工作; ③、两个对话框之间数据传递的几种方法。 4、对话框控件不同类型成员变量的绑定 ①、...

    Windows API函数大全

    EnumPrintProcessorDatatypes 枚举由一个打印处理器支持的数据类型 EnumPrintProcessors 枚举系统中可用的打印处理器 Escape 设备控制函数 FindClosePrinterChangeNotification 关闭用...

    ADO数据库编程入门(VC)

    ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE...

    VC编程技巧精选,很不错

    36、如何在OLE控件中使用OLE_COLOR数据类型 37、在不使用通用文件打开对话的情况下如何显示一个文件列表 38、为什么旋转按钮控件看起来倒转 39 为什么旋转按钮控件不能自动地更新它下面的编辑控件 40、如何用位图...

    VC++常用的共用函数100多页

    VC常用数据类型使用转换详解 114 用Visual C++操作INI文件 117 单文档加入背景图 119 更新窗体方法 120 更改窗口控件的能动和不能动(以按钮控件为例) 120 窗口响应键盘事件 120 密码框输入受保护 121 最高窗口的...

    VC.rar_MFC sql_VC ODBC_pusdn_vc ODBC API_vc pusdn

    开发Windows应用程序时,在很多情况下可能要和数据库连接。数据库类型多种多样,功能...而实际应用中,往往要求数据库应用程序能关联二个或多个数据表。VC++的好多书籍对此只是简单的介绍。本文透彻地解决这一问题。

    让应用程序禁止Windows屏幕保护

    Windows在启动屏幕保护程序前会向当前激活的应用程序发送WM_SYSCOMMAND消息,其中wParam参数指定了即将执行的系统命令类型,在本例中其值为SC_SCREENSAVE。问题在于程序如何捕获这个消息呢?在C++ Builder中可以利用...

Global site tag (gtag.js) - Google Analytics