文档介绍:C++程序设计教程
MFC简介
MFC简介
VC++分为API和MFC两部分
Win32 API(Application Programming Interface)类似于C语言的库函数,提供诸如strcpy()、memset()、fopen()等函数。
MFC ( Microsoft Foundation Class ) 微软基本类库,提供窗口(Windows)式程序编程框架。
通过MFC,我们可以构造基于窗口的应用程序,如对话框(Dialog)、单文档(Single Document)和多文档(Multiply Document)应用软件。
MFC的基本数据类型
int 是特殊的数据类型,它等同于操作系统的位数。如32位系统(Win32)int就是32位。
重新定义数据类型是为了可移植性。
数据类型:(整型)
BOOL 布尔类型(int型)
INT, UINT 与int有关类型
CHAR,(UCHAR)BYTE 与char有关类型8bit
SHORT,(USHORT)WORD 与short有关类型16bit
LONG,(ULONG)DWORD 与long有关类型32bit
LONGLONG,ULONGLONG 64bit类型
数据类型:(浮点型)
FLOAT : 类型 float 32bit
DOUBLE : 类型 double 64bit
程序的可读性
好的程序体现在下面几个方面:
正确性、可读性、健壮性、可维护性
VC++中关于提高可读性的几项基本要求:
要遵循模块化缩进的原则。
工程、类、变量等等的名称一律用英文。
变量起名要有意义,让人容易理解其含义。采用英文,不要用汉语拼音。
不大容易理解的地方应及时加注释。
变量写法遵循匈牙利记法。
变量名的匈牙利记法 Hungarian notation
BOOL : bVariable
int, INT : nVariable
UINT : uVariable
char, CHAR : chVariable
BYTE : byVariable
SHORT : sVariable
WORD : wVariable
LONG : lVariable
DWORD : dwVariable
FLOAT : fltVariable
DOUBLE : dblVariable
CHAR[] : szVariable
关于CSize
typedef struct tagSIZE
{ LONG cx;
LONG cy;
} SIZE, *PSIZE, *LPSIZE;
类型定义
指向该类型的指针
1)typedef的作用是将这个struct定义成一个数据类型。
2)PSIZE 和 LPSIZE 均表示指向SIZE的指针,在16位系统下有区别,在32位系统下没区别。
3)struct可以认为是成员都是public的类(class)。
class CSize : public tagSIZE
{
public:
CSize();
CSize(int initCX, int initCY);
CSize(SIZE initSize);
CSize(POINT initPt);
CSize(DWORD dwSize);
。。。。。。
重载构造函数
另外一个数据类型
低16位为cx
高16位为cy
BOOL operator==(SIZE size) const;
BOOL operator!=(SIZE size) const;
void operator+=(SIZE size);
void operator-=(SIZE size);
CSize operator+(SIZE size) const;
CSize operator-(SIZE size) const;
CSize operator-() const;
CPoint operator+(POINT point) const;
CPoint operator-(POINT point) const;
CRect operator+(const RECT* lpRect) const;
CRect operator-(const RECT* lpRect) const;
比较
运算
赋值
CSize的用法
SIZE sizeBox1={20,40};
SIZE sizeBox2={60,30};
SIZE sizeBox3=sizeBox1+sizeBox2;
CSize
SIZE
结果拷贝到
CSize sizeBox(sizeBox1);
CSize sizeBigBox
= sizeBox + sizeBox2;