第3章 必须要掌握的Windows编程(www.cppentry.com)要点
在学习MFC编程(www.cppentry.com)之前,应该有必要掌握Windows编程(www.cppentry.com)的要点。或许有人会问:掌握了MFC不就行了吗,为什么还要回到那种每条代码都自己编写的最原始的时代呢?是的,以SDK的方式开发Windows程序给程序员带来了极大的负担,MFC封装了大部分的Windows的API,并且Visual C++(www.cppentry.com) 6.0自动生成的程序框架使得程序员可以从大量烦琐的代码编写中解脱出来,实现轻松编程(www.cppentry.com)。但是,这样轻松优越的编程(www.cppentry.com)方式造就了大量的只会拖放控件,编写事件代码,而没有真正了解Windows程序机理的程序员,让他们改一改应用程序的界面都成了十分困难的事,因为他们没有真正了解Windows程序的机制。要理解Windows,理解MFC,只有先了解Windows编程(www.cppentry.com)的基本方法,才能更好地写出MFC程序。
本章从Windows编程(www.cppentry.com)最简单的命名规则说起,到实现一个手工生成的Windows SDK程序,介绍Windows编程(www.cppentry.com)需要了解的主要知识。
■ 本章学习地图
◆ 匈牙利编程(www.cppentry.com)命名规则
◆ Windows编程(www.cppentry.com)模型
◆ 高级Windows编程(www.cppentry.com)
◆ Windows GDI、控件
◆ 编写第一个Windows程序—实时显示鼠标位置
3.1 匈牙利编程(www.cppentry.com)命名规则
一个大型软件公司可能有很多个程序员共同开发一个项目,代码以模块的形式交给每个编写者进行开发。在开发的过程中,程序员A的代码可能交给程序员B去共享,修改或完善。如果程序员A所写的代码杂乱无章,特别是对函数、变量的命名毫无规律的话,那么程序员B可能就看不懂程序员A的代码写的是什么,极大地影响了开发效率。因此,好的命名规则意味着程序代码的易读性和高质量。
目前在Windows程序开发和MFC程序开发中常用的命名规则是匈牙利命名法。匈牙利命名法是一位叫Charles Simonyi的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。这种命名法的出发点是把变量名按前缀+对象描述的顺序组合起来,以使程序员命名变量时对变量的类型和其他属性有直观地了解。所有Microsoft的API、界面、技术文件等都采用这些规范。
匈牙利命名法包括与下列命名有关的约定:变量、函数、类型和常量、类。
如表3-1所示给出了匈牙利命名法使用的前缀符号,这些符号多用于变量名的前缀。
表3-1 匈牙利命名法使用的前缀符号
(1)变量的匈牙利命名法。
应用匈牙利命名法,所有的变量名都应该以前缀+名字的形式出现。比如:
char* szName; //以0为结束符的符串,存储的是名字变量 BOOL bCanExit; //布尔型变量,能退出吗 DWORD dwMaxCount; //32位双字变量,最大记数 |
(2)函数的匈牙利命名法。
与变量的命名不同的是,函数的命名不带前缀,函数中每一个单词的开头字母都要大写。比如:
int ConvertNumber( int ix ); void ShowMessage( char* szMessage ); |
(3)类型和常量的匈牙利命名法。
所有的类型和常量命名都是大写字母,比如:
#define MAX_NUM 256 typedef unsigned char UCHAR; |
(4)类的匈牙利命名法。
类的命名规则是在名称前面加上一个字母C,比如:
class CMyClass { public: CMyClass(); ~CMyClass(); … private: m_szName; }; |
在对类的成员变量命名的时候,一般要在变量名前加上m_前缀,后面的命令规则和普通变量名的命令方式差不多。
一般来说,最好按照此规则来编程(www.cppentry.com),这样在以后读程序或者修改程序时,能够更快地了解变量的作用。
【责任编辑:
雪花 TEL:(010)68476606】