Visual C++程序开发参考手册[按需印刷]
此书提供个性化定制服务:企业LOGO、团购定制、扉页加文字和图片、字号。下单时请联系客服。
- 定价:¥89.00
- POD价:¥108.00
- 评分:
(已有2条评价)
- 电子书:Visual C++程序开发参考手册[按需印刷]
- 促销活动:
- 我要买:
- ·如此书原封面缺失,印刷将采用出版社授权的新封面;
- ·如电子文件出现问题,可能延长印制周期,我们将提前与您沟通
|
基本信息

【插图】

内容简介
书籍
计算机书籍
《Visual C++程序开发参考手册》是一本Visual C++综合参考手册,介绍了Visual C++程序开发中涉及的各种函数、类及方法。本书共分为五篇19章,第一篇为数学与字符串相关函数,主要包括数学函数、字符函数和字符串函数、时间日期函数、类型转换函数等内容;第二篇为文件与I/O流函数,主要包括文件目录操作函数、内存操作函数、输入输出函数等内容;第三篇为Visual C++基础类,主要包括简单数据类、基类等内容;第四篇为标准控件类,主要包括文档、框架和视图类,以及控制栏类、对话框类、控件类、输出类等内容;第五篇为Visual C++高级应用,主要包括图形工具类、文件输入输出类、网络相关类、常用MFC宏、常用全局函数等内容。在每一个类中,方法按字母顺序进行排序,其中每个方法都按照功能、语法来介绍,在每个方法后都有相关的示例,并针对介绍的内容提供典型应用范例。
《Visual C++程序开发参考手册》内容详尽,示例丰富,非常适合作为编程人员及项目开发人员的工具用书。
计算机书籍
《Visual C++程序开发参考手册》是一本Visual C++综合参考手册,介绍了Visual C++程序开发中涉及的各种函数、类及方法。本书共分为五篇19章,第一篇为数学与字符串相关函数,主要包括数学函数、字符函数和字符串函数、时间日期函数、类型转换函数等内容;第二篇为文件与I/O流函数,主要包括文件目录操作函数、内存操作函数、输入输出函数等内容;第三篇为Visual C++基础类,主要包括简单数据类、基类等内容;第四篇为标准控件类,主要包括文档、框架和视图类,以及控制栏类、对话框类、控件类、输出类等内容;第五篇为Visual C++高级应用,主要包括图形工具类、文件输入输出类、网络相关类、常用MFC宏、常用全局函数等内容。在每一个类中,方法按字母顺序进行排序,其中每个方法都按照功能、语法来介绍,在每个方法后都有相关的示例,并针对介绍的内容提供典型应用范例。
《Visual C++程序开发参考手册》内容详尽,示例丰富,非常适合作为编程人员及项目开发人员的工具用书。
目录
《Visual C++程序开发参考手册》
前 言
第一篇 数学与字符串相关函数
第1章 数学函数 2
1.1 _chgsign函数——求参数的相反数 2
1.2 _copysign函数——复制数据 2
1.3 _hypot函数——求直角三角形斜边长度 3
1.4 _max函数——求两个数中的大数 3
1.5 _min函数——求两个数中的小数 4
1.6 _scalb函数——求参数的2^ exp倍数 4
1.7 abs函数——求整数的绝对值 5
1.8 acos函数——求反余弦 6
1.9 asin函数——求反正弦 6
1.10 atan函数——求反正切 6
1.11 atan2函数——求x/y的反正切值 7
1.12 ceil函数——求不小于x的最小整数 7
1.13 cos函数——求余弦 8
1.14 cosh函数——求双曲余弦 9
1.15 div函数——求两个数的商和余数 9
1.16 exp函数——求双精度数的指数函数值 10
前 言
第一篇 数学与字符串相关函数
第1章 数学函数 2
1.1 _chgsign函数——求参数的相反数 2
1.2 _copysign函数——复制数据 2
1.3 _hypot函数——求直角三角形斜边长度 3
1.4 _max函数——求两个数中的大数 3
1.5 _min函数——求两个数中的小数 4
1.6 _scalb函数——求参数的2^ exp倍数 4
1.7 abs函数——求整数的绝对值 5
1.8 acos函数——求反余弦 6
1.9 asin函数——求反正弦 6
1.10 atan函数——求反正切 6
1.11 atan2函数——求x/y的反正切值 7
1.12 ceil函数——求不小于x的最小整数 7
1.13 cos函数——求余弦 8
1.14 cosh函数——求双曲余弦 9
1.15 div函数——求两个数的商和余数 9
1.16 exp函数——求双精度数的指数函数值 10
1.17 fabs函数——求双精度数的绝对值 10
1.18 floor函数——求不大于x的最大整数 11
1.19 fmod函数——求x/y的余数 11
1.20 frexp函数——把参数x调整到0.5~1之间 11
1.21 labs函数——求长整型参数的绝对值 12
1.22 ldexp函数——求参数的2^ exp倍数 12
1.23 ldiv函数——求两个长整型数相除的 商和余数 13
1.24 log函数——自然对数 14
1.25 log10函数——求以10为底的对数 14
1.26 modf函数——求双精度数的小数部分 15
1.27 pow函数——求x的y次方的值 15
第2章 字符函数和字符串函数 17
2.1 _isascii函数——ASCII码是否在0~127之间 17
2.2 _iscsym函数——是否为大/小写字母、下划线或数字0~9 17
2.3 _strdup函数——将字符串存入内存中 18
2.4 _stricmp函数——比较两个字符串 19
2.5 _strlwr函数——将大写字母转换成小写字母 19
2.6 _strnicmp函数——比较特定长度的字符串 20
2.7 _strnset函数——把特定长度的字符设定成某个特定字符 21
2.8 _strrev函数——将字符串倒序排列 21
2.9 _strset函数——把字符设定成某个特定字符 22
2.10 _strupr函数——将小写字母转换成大写字母 22
2.11 _toascii函数——将字符转换成ASCII码 23
2.12 isalnum函数——是否为大/小写字母或数字0~9 23
2.13 isalpha函数——是否为大/小写字母 24
2.14 iscntrl函数——是否为控制字符 25
2.15 isdigit函数——是否为数字0~9 25
2.16 isgraph函数——ASCII码是否在33~126之间 26
2.17 islower函数——是否为小写字母 27
2.18 isprint函数——ASCII码是否在32~126之间 27
2.19 isspace函数——是否为空格、制表符或换行符 28
2.20 isupper函数——是否为大写字母 28
2.21 strcat函数——字符串连接函数 29
2.22 strchr函数——找出给定字符串中特定字符 29
2.23 strcmp函数——对两个字符串进行比较 30
2.24 strcpy函数——对字符串进行复制 31
2.25 strcspn函数——查找第一个是另一个字符串中的字符位置 31
2.26 strlen函数——求字符串的长度 32
2.27 strncat函数——将特定数目的字符串连接到另一个字符串 32
2.28 strncmp函数——比较特定长度的字符串 33
2.29 strncpy函数——复制特定长度的字符串到另一个字符串 34
2.30 strpbrk函数——从第一个是另一个字符串中字符开始输出 34
2.31 strrchr函数——找出字符在字符串中最后出现的位置 35
2.32 strspn函数——查找第一个不是另一个字符串中字符的位置 35
2.33 strstr函数——获得第一次包含另一字符串的位置指针 36
2.34 strtok函数——根据字符串中的字符截断另一个字符串 36
2.35 strxfrm函数——将特定长度的字符串转给另一个字符串 37
2.36 tolower函数——将大写字符转换为小写字符 37
2.37 toupper函数——将小写字符转换为大写字符 38
第3章 时间和日期函数 39
3.1 _ftime函数——读取当前时间 39
3.2 _strdate函数——将当前日期格式化写入字符串 39
3.3 _strtime函数——将当前时间格式化写入字符串 40
3.4 asctime函数——以字符串显示时间 40
3.5 clock函数——当前程序所使用的处理时间 41
3.6 ctime函数——将time_t型转为字符型 42
3.7 difftime函数——求两次系统时间差 42
3.8 gmtime函数——以tm结构表示的时间 43
3.9 localtime函数——以tm结构表示的时间 44
3.10 mktime函数——通过改变tm结构变量改变时间 45
3.11 strftime函数——将tm结构时间格式化写入字符串 46
3.12 time函数——获得时间 46
第4章 类型转换函数 48
4.1 _ecvt函数——将浮点数转换成字符串 48
4.2 _fcvt函数——将浮点数转换成字符串 49
4.3 _itoa函数——将整型数转换成字符串 49
4.4 _ltoa函数——将长整型数转换成字符串 50
4.5 _ultoa函数——将无符号长整型数转换成字符串 51
4.6 atof函数——将字符串转换成双精度数 52
4.7 atoi函数——将字符串转换成整型数 52
4.8 atol函数——将字符串转换成长整型数 54
4.9 strtod函数——将字符串转换为双精度数 54
4.10 strtol函数——将字符串转换为长整型数 55
4.11 strtoul函数——将字符串转换为无符号长整型数 56
第二篇 文件与I/O流函数
第5章 文件目录操作函数 58
5.1 _chdir函数——改变当前的工作目录 58
5.2 _findclose函数——关闭句柄,释放资源 58
5.3 _findfirst函数——搜索第一个文件 59
5.4 _findnext函数——搜索下一个文件 60
5.5 _getcwd函数——获得当前路径名 61
5.6 _mkdir函数——创建指定名称的目录 62
5.7 _mktemp函数——创建唯一的文件名 62
5.8 _rmdir函数——删除目录 63
5.9 _searchenv函数——搜索文件路径 63
5.10 _tempnam函数——生成临时文件名 64
第6章 内存操作函数 65
6.1 _alloca函数——在堆栈上分配内存空间 65
6.2 _expand函数——改变内存区域的字节数 65
6.3 _heapadd函数——把内存区域添加到堆中 66
6.4 _heapchk函数——检查堆的连续性 66
6.5 _heapmin函数——释放没有使用的堆空间 67
6.6 _heapset函数——检查堆的最小连续性 67
6.7 _heapwalk函数——返回堆中下一个项目信息 68
6.8 _msize函数——返回堆中内存区域的字节长度 69
6.9 calloc函数——在内存中取得一块数组空间 70
6.10 free函数——释放内存区块 71
6.11 malloc函数——获取内存区块 71
6.12 realloc函数——重新分配内存 73
第7章 输入输出函数 75
7.1 _access函数——检查文件状态 75
7.2 _chmod函数——改变文件访问模式 76
7.3 _creat函数——创建文件 77
7.4 _eof函数——文件指针是否在结尾 78
7.5 _fcloseall函数——关闭所有文件 80
7.6 _filelength函数——获得文件长度 80
7.7 _getw函数——从文件流中读取一个整数 82
7.8 _putw函数——将一个整数写入文件流中 83
7.9 fclose函数——关闭文件 84
7.10 feof函数——文件流是否在结尾 85
7.11 ferror函数——文件流是否有错误 86
7.12 fflush函数——将缓冲区内容写入文件 86
7.13 fgetc函数——从文件流中读出一个字符 87
7.14 fgets函数——从文件流中读出一行字符 87
7.15 fopen函数——打开文件 88
7.16 fprintf函数——向文件流写入格式化数据 89
7.17 fputs函数——向输出流写入一个字符串 89
7.18 fread函数——从文件流读取数据 90
7.19 freopen函数——为文件指针重新分配文件 90
7.20 fscanf函数——从文件流中读取格式化数据 91
7.21 fseek函数——设置文件操作指示器位置 92
7.22 ftell函数——获取文件操作指示器位置 92
7.23 fwrite函数——向文件流写入数据 93
7.24 getc函数——从文件流中读出一个字符 94
7.25 getchar函数——从输入流中读取一个字符 95
7.26 gets函数——从输入流中读出一行字符 96
7.27 printf函数——将格式化数据写入标准输出流 96
7.28 putc函数——将一个字符写入文件流中 97
7.29 putchar函数——将一个字符写入输出流中 98
7.30 puts函数——将字符串写入输出流中 98
7.31 rewind函数——将文件指针移动到起始位置 99
7.32 scanf函数——从输入流读出格式化数据 99
7.33 sprintf函数——向字符串中写入格式化数据 100
7.34 sscanf函数——从字符串中读出格式化数据 101
第三篇 Visual C++基础类
第8章 简单数据类 104
8.1 CPoint类——坐标点类 104
8.1.1 CPoint构造函数——构造坐标点类对象 104
8.1.2 Offset方法——增加坐标点偏移值 104
8.2 CRect类——矩形类 105
8.2.1 BottomRight方法——获得矩形右下角坐标 105
8.2.2 CenterPoint方法——计算矩形中心点坐标 105
8.2.3 CopyRect方法——复制矩形区域 106
8.2.4 DeflateRect方法——缩小矩形区域 106
8.2.5 EqualRect方法——判断矩形是否相等 107
8.2.6 Height方法——获得矩形高度 108
8.2.7 InflateRect方法——扩大矩形区域 108
8.2.8 IntersectRect方法——获得两个矩形的交集 109
8.2.9 IsRectEmpty方法——判断矩形区域是否为空 109
8.2.10 IsRectNull方法——判断矩形4条边是否都为0 110
8.2.11 NormalizeRect方法——使高度和宽度均为正 110
8.2.12 OffsetRect方法——移动矩形 111
8.2.13 PtInRect方法——判断点是否在矩形区域内 111
8.2.14 SetRect方法——设置矩形左上角和右下角坐标 112
8.2.15 SetRectEmpty方法——设置空矩形 112
8.2.16 Size方法——计算矩形的大小 113
8.2.17 SubtractRect方法——获得两个矩形相减的矩形差 113
8.2.18 TopLeft方法——获得矩形的左上角坐标 114
8.2.19 UnionRect方法——获得包含两个矩形的最小矩形 114
8.2.20 Width方法——获得矩形宽度 114
8.3 CSize类——尺寸类 115
8.4 CTime类——绝对时间类 115
8.4.1 CTime构造函数——构造CTime类对象 116
8.4.2 Format方法——创建日期/时间值的格式化表达式 116
8.4.3 FormatGmt方法——生成对应的格式化字符串 117
8.4.4 GetAsSystemTime方法——转换SYSTEMTIME 117
8.4.5 GetCurrentTime方法——获得系统当前时间 118
8.4.6 GetDay方法——获得CTime对象中的日期信息 119
8.4.7 GetDayOfWeek方法——获得星期信息 119
8.4.8 GetGmtTm方法——获取时间结构 120
8.4.9 GetHour方法——获得小时信息 121
8.4.10 GetMinute方法——获得分钟信息 121
8.4.11 GetSecond方法——获得秒钟信息 121
8.4.12 GetTime方法——返回time_t值 121
8.4.13 GetMonth方法——获得月份信息 122
8.4.14 GetYear方法——获得年份信息 122
8.5 CTimeSpan类——相对时间类 122
8.5.1 CTimeSpan构造函数——构造CtimeSpan类对象 122
8.5.2 Format方法——格式化的时间字符串 123
8.5.3 GetDays方法——获取完整的天数 124
8.5.4 GetHours方法——获得时间段中的小时数 124
8.5.5 GetMinutes方法——获得时间段中的分钟数 124
8.5.6 GetSeconds方法——获得时间段中的秒数 124
8.5.7 GetTotalHours方法——获得所有小时数 125
8.5.8 GetTotalMinutes方法——获得所有分钟数 125
8.5.9 GetTotalSeconds方法——获得所有的秒数 126
8.6 CString类——字符串类 126
8.6.1 AllocSysString方法——OLE自动化返回字符串 126
8.6.2 AnsiToOem方法——ANSI转换为OEM字符集 127
8.6.3 Collate方法——比较字符串 127
8.6.4 CollateNoCase方法——不区分大/小写比较字符串 127
8.6.5 Compare方法——比较字符串 128
8.6.6 CompareNoCase方法——不区分大/小写比较字符串 128
8.6.7 CString构造函数——构造CString类对象 129
8.6.8 Delete方法——删除一个或多个字符 130
8.6.9 Empty方法——设置空字符串 130
8.6.10 Find方法——搜索第一个匹配字符 131
8.6.11 FindOneOf方法——查找相匹配第一个字符 132
8.6.12 Format方法——将格式化数据写入字符串中 132
8.6.13 FreeExtra方法——释放额外的内存 133
8.6.14 GetAt方法——获得由索引号指定的单个字符 133
8.6.15 GetBuffer方法——获得指向字符缓冲区的指针 133
8.6.16 GetBufferSetLength方法——获得字符缓冲区指针 134
8.6.17 GetLength方法——获取字符串的字节数 134
8.6.18 Insert方法——插入单个字符或子字符串 134
8.6.19 IsEmpty方法——判断字符串是否为空 135
8.6.20 Left方法——提取最前面的字符 135
8.6.21 LoadString方法——读取Windows字符串资源 135
8.6.22 LockBuffer方法——为缓冲区内字符串加锁 136
8.6.23 MakeLower方法——将字母全部转换成小写字母 136
8.6.24 MakeReverse方法——字符倒序排列 136
8.6.25 MakeUpper方法——将字母全部转换成大写字母 137
8.6.26 Mid方法——截取一个字符串 137
8.6.27 OemToAnsi方法——将OEM转换为ANSI字符集 137
8.6.28 ReleaseBuffer方法——结束对缓冲区的使用 137
8.6.29 Remove方法——从字符串中移走指定的字符 138
8.6.30 Replace方法——替换字符串 139
8.6.31 ReverseFind方法——反向查找字符 140
8.6.32 Right方法——从字符串末尾提取字符 140
8.6.33 SetAt方法——向指定位置重写字符 140
8.6.34 SpanExcluding方法——截取字符串 141
8.6.35 SpanIncluding方法——截取字符串 141
8.6.36 TrimLeft方法——删除换行符、空格和tab 142
8.6.37 TrimRight方法——删除一个或多个字符 142
8.6.38 UnlockBuffer方法——解锁缓冲区 143
第9章 基类 144
9.1 CObject类——MFC类库主要基类 144
9.1.1 AssertValid方法——验证对象的完整性 144
9.1.2 Dump方法——输出诊断信息 145
9.1.3 GetRuntimeClass方法——获取运行时类信息 145
9.1.4 IsKindOf方法——判断对象所属类 146
9.1.5 IsSerializable方法——对象是否能够被序列化 147
9.1.6 Serialize方法——向CArchive对象写入对象信息 147
9.2 CCmdTarget类——MFC消息映射类的基类 148
9.2.1 BeginWaitCursor方法——使鼠标指针呈现沙漏状 148
9.2.2 EnableAutomation方法——对象设置OLE自动功能 149
9.2.3 EndWaitCursor方法——恢复鼠标指针的形状 149
9.2.4 FromIDispatch方法——获取与IDispatch相关的对象指针 149
9.2.5 GetIDispatch方法——获取对象关联的IDispatch接口指针 150
9.2.6 OnCmdMsg方法——分派并处理命令消息 150
9.2.7 OnFinalRelease方法——释放Ole引用对象 151
9.2.8 RestoreWaitCursor方法——重新设置鼠标指针为沙漏状 151
9.3 CWnd类——MFC中窗口类的基类 151
9.3.1 Attach方法——附加窗口句柄到CWnd对象上 151
9.3.2 CenterWindow方法——居中窗口 152
9.3.3 ChildWindowFromPoint方法——在窗口的指定位置获取子窗口 152
9.3.4 ClientToScreen方法——将客户区域坐标转换为屏幕区域坐标 153
9.3.5 CreateEx方法——使用扩展风格创建窗口 153
9.3.6 DeleteTempMap方法——删除临时的CWnd对象 154
9.3.7 DestroyWindow方法——销毁窗口 154
9.3.8 Detach方法——分离Windows窗口句柄 155
9.3.9 EnableToolTips方法——启动或禁止窗口的工具提示 155
9.3.10 EnableWindow方法——设置窗口是否可用 156
9.3.11 FindWindow方法——根据类名或窗口标题查找窗口 156
9.3.12 FromHandle方法——根据窗口句柄获取窗口指针 157
9.3.13 FromHandlePermanent方法——根据窗口句柄获取窗口指针 157
9.3.14 GetActiveWindow方法——获取当前活动窗口 157
9.3.15 GetClientRect方法——获取窗口的客户区域 158
9.3.16 GetDC方法——获取与窗口关联的设备上下文指针 159
9.3.17 GetDesktopWindow方法——获取系统桌面窗口 159
9.3.18 GetDlgCtrlID方法——获取控件ID 160
9.3.19 GetDlgItem方法——根据控件ID获取一个窗口指针 160
9.3.20 GetDlgItemInt方法——转换控件文本为一个整数值 161
9.3.21 GetDlgItemText方法——根据控件ID获取控件文本信息 161
9.3.22 GetExStyle方法——获取窗口的扩展风格 162
9.3.23 GetFocus方法——获取当前获得输入焦点的窗口对象 162
9.3.24 GetFont方法——获取当前窗口的字体 163
9.3.25 GetMenu方法——获取窗口关联的菜单指针 163
9.3.26 GetNextWindow方法——获取窗口管理器列表中的上一个或下一个窗口 163
9.3.27 GetOwner方法——确定滚动条可以滚动的范围 164
9.3.28 GetParent方法——获取当前窗口的父窗口 164
9.3.29 GetScrollInfo方法——获取窗口的滚动条信息 165
9.3.30 GetScrollLimit方法——获取滚动条的最大滚动范围 165
9.3.31 GetScrollPos方法——获取滚动条中当前滚动块的位置 165
9.3.32 GetScrollRange方法——确定滚动条可滚动的范围 166
9.3.33 GetStyle方法——获取窗口的普通风格 166
9.3.34 GetTopWindow方法——获取对话框中顶层的子窗口 166
9.3.35 GetUpdateRect方法——获取窗口最小封闭的更新区域 167
9.3.36 GetWindow方法——获取与窗口有一定关系的其他窗口 167
9.3.37 GetWindowDC方法——返回整个窗口的设备上下文 168
9.3.38 GetWindowRect方法——获取窗口对象的整个窗口区域 168
9.3.39 GetWindowText方法——获取窗口的标题或文本信息 169
9.3.40 Invalidate方法——更新整个窗口的客户区域 169
9.3.41 InvalidateRect方法——更新窗口的某一个区域 170
9.3.42 InvalidateRgn方法——更新窗口的某一个选区 170
9.3.43 IsChild方法——判断某一个窗口是否是一个子窗口 170
9.3.44 IsWindowEnabled方法——判断对话框是否可用 171
9.3.45 IsWindowVisible方法——判断窗口是否可见 171
9.3.46 KillTimer方法——结束计时器 171
9.3.47 LockWindowUpdate方法——锁定一个窗口 172
9.3.48 MapWindowPoints方法——将某个窗口的区域坐标转换为另一个窗口的区域坐标 172
9.3.49 MessageBox方法——显示一个消息对话框 172
9.3.50 ModifyStyle方法——修改窗口的普通风格 173
9.3.51 ModifyStyleEx方法——修改窗口的扩展风格 173
9.3.52 MoveWindow方法——移动窗口到指定的位置 174
9.3.53 OnActivate方法——在窗口对象激活或失去激活状态时触发 175
9.3.54 OnClose方法——在对话框关闭时由框架调用 175
9.3.55 OnCreate方法——在窗口被创建时由框架调用 176
9.3.56 OnCtlColor方法——在子控件即将被绘制时由框架自动调用 176
9.3.57 OnDestroy方法——在窗口即将被释放时由框架调用 177
9.3.58 OnEraseBkgnd方法——在窗口的背景需要擦除时由框架调用 178
9.3.59 OnHScroll方法——在用户单击窗口的水平滚动条时由框架调用 178
9.3.60 OnKeyDown方法——在键盘的非系统键按下时由框架调用 180
9.3.61 OnKeyUp方法——在用户释放非功能按键时由框架调用 180
9.3.62 OnKillFocus方法——在用户失去焦点时由框架调用 180
9.3.63 OnLButtonDblClk方法——在用户双击鼠标左键时由框架调用 181
9.3.64 OnLButtonDown方法——在用户按下鼠标左键时由框架调用 181
9.3.65 OnLButtonUp方法——在用户释放按下的鼠标左键时由框架调用 182
9.3.66 OnMouseMove方法——在鼠标指针移动时由框架调用 182
9.3.67 OnMouseWheel方法——在鼠标滚轮滚动时由框架调用 182
9.3.68 OnMove方法——在窗口被移动后由框架调用 183
9.3.69 OnNcLButtonDblClk方法——在窗口的非客户区域双击鼠标左键时由框架调用 183
9.3.70 OnNcLButtonDown方法——在窗口的非客户区域单击鼠标左键时由框架调用 184
9.3.71 OnNcLButtonUp方法——在窗口的非客户区域释放鼠标左键时由框架调用 185
9.3.72 OnPaint方法——在窗口需要绘制时由框架调用 185
9.3.73 OnSetFocus方法——在窗口获得输入焦点时由框架调用 186
9.3.74 OnSize方法——在窗口大小改变后由框架调用 186
9.3.75 OnSizing方法——在窗口大小正在改变时由框架调用 187
9.3.76 OnTimer方法——在用户调用SetTimer方法后由框架根据指定的时间间隔调用 187
9.3.77 OnVScroll方法——在用户触发窗口的垂直滚动消息时由框架调用 188
9.3.78 OnWindowPosChanged方法——在窗口大小、位置或Z轴顺序改变时由框架调用 189
9.3.79 OnWindowPosChanging方法——在窗口大小、位置或Z轴顺序即将改变时由框架调用 189
9.3.80 OnWndMsg方法——被窗口过程WindowProc或消息映射调用 190
9.3.81 PostMessage方法——传递一个窗口消息到线程的消息队列中 190
9.3.82 PreCreateWindow方法——在窗口创建之前设置窗口风格信息 190
9.3.83 PreSubclassWindow方法——在窗口被子类化之前由框架调用 191
9.3.84 PreTranslateMessage方法——在窗口消息被分派到窗口过程之前由框架调用 191
9.3.85 RedrawWindow方法——更新窗口指定的客户区域 191
9.3.86 ReleaseDC方法——释放窗口的设备上下文 192
9.3.87 RepositionBars方法——重新设置窗口客户区域中控制条的位置 193
9.3.88 ScreenToClient方法——将屏幕坐标转换为窗口的客户坐标 194
9.3.89 ScrollWindow方法——滚动窗口 194
9.3.90 SendDlgItemMessage方法——向控件发送一个消息 195
9.3.91 SendMessage方法——向窗口的窗口过程发送消息 195
9.3.92 SetCapture方法——设置鼠标捕捉 195
9.3.93 SetDlgCtrlID方法——设置窗口控件的控件ID 196
9.3.94 SetDlgItemInt方法——设置对话框中指定控件的文本整数值 196
9.3.95 SetDlgItemText方法——设置对话框中指定控件的字符串文本 197
9.3.96 SetFocus方法——为窗口设置焦点 197
9.3.97 SetFont方法——设置对话框的字体 197
9.3.98 SetIcon方法——设置对话框显示的图标 198
9.3.99 SetMenu方法——设置对话框显示的菜单 198
9.3.100 SetParent方法——设置窗口的父窗口 198
9.3.101 SetScrollPos方法——设置滚动条的滚动位置 199
9.3.102 SetScrollRange方法——设置滚动条的滚动范围 199
9.3.103 SetTimer方法——开启一个计时器 200
9.3.104 SetWindowPos方法——设置窗口的大小、位置和Z轴顺序 200
9.3.105 SetWindowRgn方法——设置窗口的显示区域 201
9.3.106 SetWindowText方法——设置窗口标题或文本 203
9.3.107 ShowScrollBar方法——显示或隐藏窗口滚动条 203
9.3.108 ShowWindow方法——设置窗口的显示状态 204
9.3.109 SubclassDlgItem方法——动态子类化一个窗口控件 204
9.3.110 UnlockWindowUpdate方法——解除LockWindowUpdate方法对窗口锁定更新 205
9.3.111 UpdateData方法——进行对话框数据交换 205
9.3.112 UpdateWindow方法——通过发送WM_PAINT消息来更新窗口 205
9.3.113 WindowFromPoint方法——根据坐标点返回一个窗口对象 205
第四篇 标准控件类
第10章 文档、框架和视图类 208
10.1 CDocument类——文档类 208
10.1.1 AddView方法——附加一个视图对象到文档中 208
10.1.2 CanCloseFrame方法——在显示文档的框架窗口被关闭前由框架调用 208
10.1.3 DeleteContents方法——删除文档中的数据 209
10.1.4 GetDocTemplate方法——获取一个文档模板对象 209
10.1.5 GetFirstViewPosition方法——从视图列表中获取第一个视图对象的位置 210
10.1.6 GetNextView方法——遍历文档对象中的视图列表 210
10.1.7 GetPathName方法——获取文档路径 211
10.1.8 IsModified方法——判断文档自最后一次保存后是否被修改过 211
10.1.9 OnChangedViewList方法——在文档对象中的视图列表有变动时调用 211
10.1.10 OnCloseDocument方法——在文档被关闭时由框架调用 212
10.1.11 OnNewDocument方法——清空文档对象的内容 212
10.1.12 OnOpenDocument方法——打开一个文档时清空原有文档内容 213
10.1.13 OnSaveDocument方法——在用户保存文档时将数据写入文件中 213
10.1.14 PreCloseFrame方法——在框架对象被销毁前调用 213
10.1.15 RemoveView方法——从文档对象中分离关联的视图对象 214
10.1.16 SaveModified方法——提示用户是否保存对文档的修改 214
10.1.17 SetModifiedFlag方法——标记文档已被修改 214
10.1.18 SetPathName方法——为文档的磁盘文件指定全限定路径 215
10.2 CFrameWnd类——框架类 215
10.2.1 ActivateFrame方法——还原或激活一个框架窗口 215
10.2.2 CreateView方法——在框架窗口内创建一个视图窗口 216
10.2.3 DockControlBar方法——使一个控制条拖入到框架窗口中 216
10.2.4 EnableDocking方法——使控制条能够被拖入 217
10.2.5 FloatControlBar方法——使控制条处于浮动状态 217
10.2.6 GetActiveDocument方法——获得关联当前活动视图窗口的文档对象 218
10.2.7 GetActiveFrame方法——获得一个活动的框架窗口对象 218
10.2.8 GetActiveView方法——获取关联框架窗口的活动视图窗口 219
10.2.9 GetControlBar方法——根据控制条ID获取一个控制条控件 219
10.2.10 GetMessageBar方法——获取一个状态栏窗口对象指针 219
10.2.11 GetMessageString方法——从资源文件中根据字符串ID加载一个字符串 220
10.2.12 IsTracking方法——确定当前窗口中的分隔条是否正在被移动 220
10.2.13 LoadFrame方法——根据资源信息创建一个框架窗口 220
10.2.14 OnCreateClient方法——创建框架对象关联的视图窗口 221
10.2.15 SetActiveView方法——设置一个活动的视图窗口 222
10.2.16 SetMessageText方法——设置状态栏中ID为0的方格字符串文本 222
10.2.17 ShowControlBar方法——显示或隐藏控制条 222
10.3 CView类——视图类 223
10.3.1 GetDocument方法——获取视图窗口关联的文档对象 223
10.3.2 OnActivateFrame方法——在包含当前视图的框架窗口激活或失去激活时调用 223
10.3.3 OnBeginPrinting方法——在打印或打印预览任务开始之前由框架调用 224
10.3.4 OnDragEnter方法——在鼠标指针首次拖入到目标窗口的非滚动区域时由框架调用 224
10.3.5 OnDragOver方法——鼠标指针在目标窗口中移动时由框架调用 226
10.3.6 OnDraw方法——设置视图窗口的背景位图 227
10.3.7 OnDrop方法——在用户释放拖动的对象到目的窗口中时由框架调用 227
10.3.8 OnEndPrinting方法——在文档的内容被打印或预览后由框架调用 228
10.3.9 OnEndPrintPreview方法——在用户退出打印预览模式时由框架调用 229
10.3.10 OnPrepareDC方法——在OnDraw方法和OnPrint方法调用之前调用 229
10.3.11 OnPrint方法——在打印文档时由框架调用 230
10.4 CScrollView类——滚动视图类 230
10.4.1 FillOutsideRect方法——填充视图窗口滚动区域之外的区域 230
10.4.2 GetDeviceScrollPosition方法——获取滚动条的滚动位置 231
10.4.3 GetDeviceScrollSizes方法——获取当前的映射模式、滚动区域、每页、每行的滚动大小等信息 231
10.4.4 GetScrollPosition方法——返回当前滚动条的滚动位置 232
10.4.5 GetTotalSize方法——返回视图窗口滚动区域的大小 232
10.4.6 ResizeParentToFit方法——调整父窗口的大小 233
10.4.7 ScrollToPosition方法——滚动窗口到指定的位置 234
10.4.8 SetScrollSizes方法——设置视图窗口的滚动区域范围 234
10.5 CEditView类——文本视图类 234
10.5.1 FindText方法——查找视图编辑窗口中的文本 235
10.5.2 GetBufferLength方法——获取编辑框中字符缓冲区的大小 235
10.5.3 GetEditCtrl方法——获取视图编辑窗口关联的编辑框控件 235
10.5.4 GetSelectedText方法——获取编辑窗口中选中文本的内容 236
10.5.5 OnFindNext方法——在用户查找文本时执行 236
10.5.6 OnReplaceAll方法——当用户在对话框中单击替换所有按钮时调用 236
10.5.7 OnReplaceSel方法——当用户在标准替换对话框中单击替换按钮时调用 237
10.5.8 PrintInsideRect方法——打印指定区域的文本 237
10.6 CRichEditView类——多功能文本视图类 238
10.6.1 AdjustDialogPosition方法——调整某个对话框的位置 238
10.6.2 CanPaste方法——判断剪贴板中包含的信息能够粘贴到视图窗口中 239
10.6.3 FindTextSimple方法——查找文本 239
10.6.4 GetCharFormatSelection方法——获取当前选中内容的字符格式属性 240
10.6.5 GetMargins方法——获取当前的打印边距 240
10.6.6 GetPageRect方法——获取在打印中使用的页面范围 240
10.6.7 GetPaperSize方法——获取打印纸张的大小 240
10.6.8 GetPrintRect方法——获取打印纸可打印区域 241
10.6.9 GetPrintWidth方法——获取打印区域的宽度 241
10.6.10 GetRichEditCtrl方法——获取与视图窗口关联的CRichEditCtrl控件 241
10.6.11 GetTextLength方法——获取视图窗口所有文本的长度 241
10.6.12 OnCharEffect方法——改变当前文字效果 242
10.6.13 OnParaAlign方法——改变选中文本的对齐方法 242
10.6.14 PrintInsideRect方法——打印指定区域的文本 242
10.6.15 SetCharFormat方法——设置新文本的字符属性 243
10.6.16 SetMargins方法——设置视图窗口的打印边距 243
10.6.17 SetPaperSize方法——设置新的打印纸大小 243
10.6.18 SetParaFormat方法——设置当前选中的段落格式属性 244
10.7 CHtmlView类——超文本视图类 244
10.7.1 ExecWB方法——在Web浏览器中执行一个命令 244
10.7.2 GetAddressBar方法——确定IE浏览器中的地址栏是否可见 245
10.7.3 GetFullName方法——获取当前IE浏览器显示的文件全路径 245
10.7.4 GetLocationName方法——获取当前浏览器中显示的资源名称 246
10.7.5 GetLocationURL方法——获取浏览器控件中显示的URL 246
10.7.6 GetVisible方法——确定浏览器控件所包含的对象是否可见 246
10.7.7 GoBack方法——回退浏览的页面 247
10.7.8 GoForward方法——在历史记录列表中显示下一个浏览的页面 247
10.7.9 GoHome方法——将页面定位到首页 247
10.7.10 GoSearch方法——定位到查找页 247
10.7.11 LoadFromResource方法——从资源文件中加载页面 248
10.7.12 Navigate方法——在视图窗口中显示指定的页面 248
10.7.13 Navigate2方法——在视图窗口中显示指定的页面 249
10.7.14 Refresh方法——刷新页面 249
10.7.15 SetAddressBar方法——显示或隐藏浏览器中的地址栏 249
10.7.16 Stop方法——停止当前的操作 249
10.8 CSplitterWnd类——窗口分隔类 250
10.8.1 ActivateNext方法——执行Next Pane或Previous Pane命令 250
10.8.2 CanActivateNext方法——检查Next Pane和Previous Pane命令当前是否有效 250
10.8.3 Create方法——创建一个动态分隔器窗口 250
10.8.4 CreateScrollBarCtrl方法——创建一个共享的滚动条控件 251
10.8.5 CreateStatic方法——创建静态分割的窗体 252
10.8.6 CreateView方法——创建子视图 253
10.8.7 CSplitterWnd方法——构造CSplitterWnd对象 254
10.8.8 DeleteColumn方法——删除一个列 254
10.8.9 DeleteRow方法——删除行 254
10.8.10 DeleteView方法——删除视图 254
10.8.11 DoKeyboardSplit方法——键盘分隔 255
10.8.12 DoScroll方法——执行分隔窗口的同步滚动 255
10.8.13 DoScrollBy方法——将分隔窗口滚动指定的像素数 256
10.8.14 GetActivePane方法——获得一个分隔器窗口中的活动窗格 256
10.8.15 GetColumnCount方法——获得分隔器中的列数 256
10.8.16 GetColumnInfo方法——获取指定列的信息 257
10.8.17 GetPane方法——根据指定行、列返回窗格指针 257
10.8.18 GetRowCount方法——获得分隔器的行数 257
10.8.19 GetRowInfo方法——获得指定行的信息 257
10.8.20 GetScrollStyle方法——获得分隔器窗口的共享滚动条风格 258
10.8.21 IdFromRowCol方法——获取指定行和列处窗格的子窗口ID 258
10.8.22 IsChildPane方法——判断pWnd是否是分隔器窗口的子窗口 258
10.8.23 OnDrawSplitter方法——绘制分隔器窗口的图像 259
10.8.24 SetActivePane方法——设置一个活动窗格 259
10.8.25 SetColumnInfo方法——设置指定列信息 259
10.8.26 SetRowInfo方法——设置指定行信息 260
10.8.27 SetScrollStyle方法——为分隔器窗口的共享滚动条指定新的风格 260
第11章 控制栏类 261
11.1 CControlBar类——控制栏基类 261
11.1.1 CalcDynamicLayout方法——计算动态控制栏的维数 261
11.1.2 CalcFixedLayout方法——计算控制栏的水平大小 262
11.1.3 GetBarStyle方法——获取控制栏风格 262
11.1.4 GetBorders方法——获取控制栏边框值 262
11.1.5 GetCount方法——获取项的个数 262
11.1.6 IsFloating方法——是否为浮动状态 263
11.1.7 SetBarStyle方法——设置控制栏风格 263
11.1.8 SetBorders方法——设置控制栏边框值 264
11.2 CToolBar类——工具栏类 264
11.2.1 CommandToIndex方法——通过命令ID返回索引 264
11.2.2 Create方法——创建窗口 264
11.2.3 GetButtonInfo方法——获取按钮信息 265
11.2.4 GetButtonText方法——获取按钮文本 266
11.2.5 GetItemID方法——获取指定索引下的命令ID 266
11.2.6 GetToolBarCtrl方法——获取工具条控件 266
11.2.7 LoadBitmap方法——载入位图 267
11.2.8 LoadToolBar方法——载入工具栏资源 268
11.2.9 SetButtonInfo方法——设置按钮信息 269
11.2.10 SetButtons方法——设置所有按钮的命令ID 270
11.2.11 SetButtonText方法——设置按钮的文本 270
11.2.12 SetHeight方法——设置工具栏高度 271
11.2.13 SetSizes方法——设置工具栏大小 272
11.3 CStatusBar类——状态栏类 272
11.3.1 Create方法——创建窗口 272
11.3.2 GetPaneInfo方法——获取指定窗格信息 273
11.3.3 GetPaneStyle方法——获取状态栏风格 274
11.3.4 GetPaneText方法——获取指定窗格的文本 274
11.3.5 GetStatusBarCtrl方法——获取状态栏控件 274
11.3.6 SetIndicators方法——设置所有窗格文本 274
11.3.7 SetPaneInfo方法——设置指定窗格信息 275
11.3.8 SetPaneStyle方法——设置状态栏风格 275
11.4 CReBarCtrl类——ReBar控件类 276
11.4.1 BeginDrag方法——开始拖放 276
11.4.2 DeleteBand方法——删除指定索引下的带 276
11.4.3 GetBandBorders方法——获取指定带的区域 276
11.4.4 GetBandCount方法——获取带的个数 277
11.4.5 GetBandInfo方法——获取带的信息 277
11.4.6 GetBarHeight方法——获取ReBar控件高度 277
11.4.7 GetBarInfo方法——获取ReBar控件信息 277
11.4.8 GetRect方法——获取ReBar控件矩形区域 278
11.4.9 GetRowCount方法——获取ReBar控件带所占行数 278
11.4.10 GetRowHeight方法——获取ReBar控件中指定行的高度 278
11.4.11 InsertBand方法——向ReBar控件中插入新带 278
11.4.12 MaximizeBand方法——将ReBar控件中一个带调整到理想或最大尺寸 279
11.4.13 MinimizeBand方法——将ReBar控件中一个带调整到理想或最小尺寸 279
11.4.14 MoveBand方法——将一个带从一个索引移动到另一个索引 279
11.4.15 SetBandInfo方法——设置ReBar控件中已存在带的特征 280
11.4.16 ShowBand方法——显示或隐藏ReBar控件中的给定带 280
11.5 CMenu类——菜单类 280
11.5.1 AppendMenu方法——添加新菜单 281
11.5.2 CheckMenuItem方法——添加或删除检测标记 282
11.5.3 CheckMenuRadioItem方法——添加或删除单选标记 282
11.5.4 CreateMenu方法——创建菜单 283
11.5.5 CreatePopupMenu方法——创建弹出式菜单 283
11.5.6 DestroyMenu方法——释放菜单 283
11.5.7 DrawItem方法——绘制菜单项 284
11.5.8 EnableMenuItem方法——控制菜单项是否可用 284
11.5.9 GetMenuItemCount方法——获取菜单项的数量 284
11.5.10 GetMenuItemID方法——通过菜单项位置获取ID 285
11.5.11 GetMenuItemInfo方法——获取指定菜单项信息 285
11.5.12 GetMenuState方法——获取菜单项状态 285
11.5.13 GetMenuString方法——获取菜单项文本 286
11.5.14 GetSubMenu方法——获取子菜单项 286
11.5.15 InsertMenu方法——插入菜单项 286
11.5.16 LoadMenu方法——载入菜单资源 288
11.5.17 LoadMenuIndirect方法——从菜单模板中装载菜单 288
11.5.18 MeasureItem方法——指定菜单维度 288
11.5.19 ModifyMenu方法——修改菜单项信息 289
11.5.20 RemoveMenu方法——移除菜单项 290
11.5.21 SetMenuItemBitmaps方法——设置菜单项显示的位图 290
11.6 CToolBarCtrl类——工具栏控件类 291
11.6.1 AddBitmap方法——添加位图 291
11.6.2 AddButtons方法——添加按钮 291
11.6.3 AddStrings方法——添加按钮文本 292
11.6.4 AutoSize方法——可自动调整大小 292
11.6.5 CheckButton方法——按钮是否选中 292
11.6.6 CommandToIndex方法——通过命令ID获取索引 292
11.6.7 DeleteButton方法——删除按钮 293
11.6.8 EnableButton方法——按钮是否可用 293
11.6.9 GetAnchorHighlight方法——是否可加亮显示 293
11.6.10 GetBitmapFlags方法——获取位图标志 293
11.6.11 GetButton方法——获取按钮信息 294
11.6.12 GetButtonCount方法——获取按钮数量 294
11.6.13 GetButtonSize方法——获取按钮大小 294
11.6.14 GetDisabledImageList方法——图像列表是否可用 294
11.6.15 GetHotImageList方法——获取热点图像列表 295
11.6.16 GetHotItem方法——获取热点项索引 295
11.6.17 GetMaxSize方法——获取可见项的最大尺寸 295
11.6.18 GetMaxTextRows方法——获取按钮文本的最大行数 295
11.6.19 GetRows方法——获取按钮显示的行数 296
11.6.20 HideButton方法——隐藏按钮 296
11.6.21 Indeterminate方法——设置按钮是否具有不确定状态 296
11.6.22 InsertButton方法——插入按钮 296
11.6.23 IsButtonChecked方法——按钮是否被选中 297
11.6.24 IsButtonEnabled方法——按钮是否可用 297
11.6.25 IsButtonHidden方法——按钮是否隐藏 297
11.6.26 IsButtonHighlighted方法——按钮是否处于加亮状态 298
11.6.27 IsButtonIndeterminate方法——按钮是否处于不确定状态 298
11.6.28 IsButtonPressed方法——按钮是否被按下 298
11.6.29 LoadImages方法——载入图像列表 298
11.6.30 MapAccelerator方法——映射加速键 299
11.6.31 MarkButton方法——设置按钮处于高亮状态 299
11.6.32 MoveButton方法——移动按钮 299
11.6.33 PressButton方法——设置按钮是否被按下 299
11.6.34 RestoreState方法——恢复工具栏状态 300
11.6.35 SaveState方法——保存工具栏状态 300
11.6.36 SetAnchorHighlight方法——工具栏是否加亮 300
11.6.37 SetBitmapSize方法——设置位图大小 301
11.6.38 SetButtonSize方法——设置按钮大小 301
11.6.39 SetButtonStructSize方法——设置按钮结构大小 301
11.6.40 SetButtonWidth方法——设置按钮宽度 301
11.6.41 SetCmdID方法——设置按钮命令ID 302
11.6.42 SetDisabledImageList方法——设置无效按钮图像列表 302
11.6.43 SetHotImageList方法——设置热点按钮图像列表 302
11.6.44 SetHotItem方法——设置热点项的索引 303
11.6.45 SetIndent方法——设置工具栏与第一个按钮的缩进 303
11.6.46 SetMaxTextRows方法——设置显示文本的最大行数 303
11.6.47 SetRows方法——设置工具栏的最大行数 303
11.6.48 SetStyle方法——设置工具栏控件风格 304
11.7 CStatusBarCtrl类——状态栏控件类 304
11.7.1 GetBorders方法——获取状态栏边界值 304
11.7.2 GetParts方法——获取窗格数量 304
11.7.3 IsSimple方法——是否处于简单模式 305
11.7.4 SetIcon方法——设置窗格图标 305
11.7.5 SetMinHeight方法——设置绘图区的最小高度 305
11.7.6 SetParts方法——设置窗格数量 306
11.7.7 SetSimple方法——设为简单模式 307
11.7.8 SetText方法——设置窗格文本 307
第12章 对话框类 309
12.1 CDialog类——对话框类 309
12.1.1 CreateIndirect方法——使用模板创建对话框 309
12.1.2 DoModal方法——模态显示对话框 310
12.1.3 EndDialog方法——关闭模态显示的对话框 311
12.1.4 GetDefID方法——获取默认按钮ID 311
12.1.5 GotoDlgCtrl方法——将焦点移动到指定的控件上 311
12.1.6 MapDialogRect方法——将矩形单位转换为屏幕单位 311
12.1.7 NextDlgCtrl方法——获取下一个具有焦点的控件 312
12.1.8 OnCancel方法——取消对话框调用返回IDCANCEL 312
12.1.9 OnInitDialog方法——初始化对话框 312
12.1.10 OnOK方法——取消对话框调用返回IDOK 313
12.1.11 OnSetFont方法——设置字体 313
12.1.12 PrevDlgCtrl方法——获取上一个具有焦点的控件 314
12.1.13 SetDefID方法——设置默认按钮 314
12.2 CFileDialog类——文件对话框类 314
12.2.1 CFileDialog方法——构造方法 314
12.2.2 GetFileExt方法——获取文件扩展名 315
12.2.3 GetFileName方法——获取文件名 315
12.2.4 GetFileTitle方法——获取文件标题 316
12.2.5 GetNextPathName方法——获取下一个文件路径 316
12.2.6 GetPathName方法——获取文件路径 316
12.2.7 GetReadOnlyPref方法——是否以只读方式打开 318
12.2.8 GetStartPosition方法——获取列表中第一个文件位置 318
12.3 CColorDialog类——颜色对话框类 319
12.3.1 CColorDialog方法——构造方法 319
12.3.2 GetColor方法——获取颜色 319
12.3.3 GetSavedCustomColors方法——获取自定义颜色 320
12.3.4 OnColorOK方法——颜色选择成功 321
12.3.5 SetCurrentColor方法——设置当前选择颜色 321
12.4 CFontDialog类——字体对话框类 321
12.4.1 CFontDialog方法——构造方法 321
12.4.2 GetColor方法——获取字体颜色 323
12.4.3 GetCurrentFont方法——获取当前字体 323
12.4.4 GetFaceName方法——获取字体名称 324
12.4.5 GetSize方法——获取字体大小 324
12.4.6 GetStyleName方法——获取字体风格名称 325
12.4.7 GetWeight方法——获取字体磅值 325
12.4.8 IsBold方法——是否加粗 325
12.4.9 IsItalic方法——是否为斜体 326
12.4.10 IsStrikeOut方法——是否具有删除线 326
12.4.11 IsUnderline方法——是否具有下划线 327
12.5 CFindReplaceDialog类——查找、替换对话框类 327
12.5.1 CFindReplaceDialog方法——构造方法 327
12.5.2 Create方法——创建窗口 328
12.5.3 FindNext方法——查找下一个字符串 328
12.5.4 GetFindString方法——获取查找字符串 328
12.5.5 GetNotifier方法——获取查找、替换对话框指针 329
12.5.6 GetReplaceString方法——获取替换的字符串 329
12.5.7 IsTerminating方法——是否终止查找、替换对话框 329
12.5.8 MatchCase方法——查找时是否区分大/小写 329
12.5.9 MatchWholeWord方法——查找时是否按词查找 330
12.5.10 ReplaceAll方法——替换所有字符串 330
12.5.11 ReplaceCurrent方法——替换当前选中字符串 330
12.5.12 SearchDown方法——向下查找 331
12.6 CPrintDialog类——打印对话框类 332
12.6.1 CPrintDialog方法——构造方法 332
12.6.2 CreatePrinterDC方法——创建打印机画布 333
12.6.3 GetCopies方法——获取打印份数 333
12.6.4 GetDefaults方法——获取打印机默认设置 333
12.6.5 GetDeviceName方法——获取当前打印机名称 334
12.6.6 GetDevMode方法——获取打印机环境信息 334
12.6.7 GetDriverName方法——获取打印机驱动程序名称 334
12.6.8 GetFromPage方法——获取打印起始页 334
12.6.9 GetToPage方法——获取打印结束页 335
12.6.10 GetPortName方法——获取打印机端口名 335
12.6.11 GetPrinterDC方法——获取打印机画布句柄 335
12.6.12 PrintAll方法——打印所有文档 335
12.6.13 PrintRange方法——是否选中区域打印 336
12.6.14 PrintSelection方法——打印选中区域 336
12.7 CPageSetupDialog类——页面设置对话框类 337
12.7.1 CPageSetupDialog方法——构造方法 337
12.7.2 CreatePrinterDC方法——创建打印机画布 338
12.7.3 GetMargins方法——获取页边距 338
12.7.4 GetPaperSize方法——获取纸张大小 339
12.7.5 OnDrawPage方法——绘制页 339
12.7.6 PreDrawPage方法——预处理绘制页 340
第13章 控件类 342
13.1 CStatic类——静态文本控件 342
13.1.1 GetCursor方法——获取鼠标指针句柄 342
13.1.2 GetEnhMetaFile方法——设置图元文件句柄 342
13.1.3 SetCursor方法——设置鼠标指针形状 342
13.1.4 SetEnhMetaFile方法——设置图元文件 343
13.2 CEdit类——编辑框控件 343
13.2.1 CanUndo方法——是否可执行撤销操作 343
13.2.2 CharFromPos方法——返回行号和字符索引 343
13.2.3 Clear方法——删除选中文本 344
13.2.4 Copy方法——复制文本 344
13.2.5 Cut方法——剪切文本 344
13.2.6 GetFirstVisibleLine方法——设置顶端行号 344
13.2.7 GetHandle方法——获取内存句柄 344
13.2.8 GetLimitText方法——获取录入最大长度 345
13.2.9 GetLine方法——返回指定行文本 345
13.2.10 GetLineCount方法——获取行数 345
13.2.11 GetMargins方法——获取左右边距 346
13.2.12 GetPasswordChar方法——返回密码字符 346
13.2.13 GetSel方法——获取开始和结束位置 346
13.2.14 LimitText方法——限定文本长度 347
13.2.15 LineFromChar方法——根据索引返回行号 347
13.2.16 LineIndex方法——返回某行字符索引 347
13.2.17 LineLength方法——返回行文本长度 347
13.2.18 LineScroll方法——滚动文本 348
13.2.19 Paste方法——粘贴文本 348
13.2.20 PosFromChar方法——返回字符左上角坐标 348
13.2.21 ReplaceSel方法——替换文本 348
13.2.22 SetHandle方法——设置内存句柄 349
13.2.23 SetLimitText方法——设置文本最大长度 349
13.2.24 SetMargins方法——设置左右边距 349
13.2.25 SetPasswordChar方法——设置字符密码 350
13.2.26 SetReadOnly方法——设置编辑框控件只读状态 350
13.2.27 SetSel方法——设置选中文本 350
13.2.28 SetTabStops方法——设置制表符占位 351
13.2.29 Undo方法——撤销最后一次操作 351
13.3 CRichEditCtrl类——带格式编辑框控件 351
13.3.1 DisplayBand方法——显示内容 351
13.3.2 FormatRange方法——格式化文本 352
13.3.3 GetCharPos方法——获取字符左上角位置 353
13.3.4 GetDefaultCharFormat方法——获取默认的字符格式化属性 353
13.3.5 GetIRichEditOle方法——访问IRichEditOle接口 353
13.3.6 GetParaFormat方法——获取段落格式化属性 353
13.3.7 GetSelectionCharFormat方法——获取字符格式化属性 354
13.3.8 GetSelectionType方法——确定选择类型 354
13.3.9 GetSelText方法——获得选择文本 354
13.3.10 HideSelection方法——改变选择可视性 355
13.3.11 PasteSpecial方法——粘贴数据 355
13.3.12 SetBackgroundColor方法——设置背景色 356
13.3.13 SetDefaultCharFormat方法——设置默认字符格式化属性 356
13.3.14 SetOLECallback方法——访问OLE相关资源信息 356
13.3.15 SetOptions方法——设置选项 357
13.3.16 SetParaFormat方法——设置段落格式化属性 357
13.3.17 SetSelectionCharFormat方法——设置字符格式化属性 357
13.3.18 SetTargetDevice方法——设置线宽 358
13.3.19 SetWordCharFormat方法——设置格式化属性 359
13.3.20 StreamIn方法——读取字符数 359
13.3.21 StreamOut方法——在输出流中写入数据 360
13.4 CSliderCtrl类——滑块控件 360
13.4.1 ClearSel方法——清除当前位置 360
13.4.2 ClearTics方法——移除刻度线 361
13.4.3 GetBuddy方法——获取伙伴窗口句柄 361
13.4.4 GetChannelRect方法——获取边界矩形 361
13.4.5 GetLineSize方法——获取行大小 361
13.4.6 GetNumTics方法——获取刻度线 362
13.4.7 GetPageSize方法——获取一页大小 362
13.4.8 GetPos方法——获取滑块位置 362
13.4.9 GetRange方法——获取最大、最小位置 362
13.4.10 GetRangeMax方法——获取最大位置 363
13.4.11 GetRangeMin方法——获取最小位置 363
13.4.12 GetSelection方法——获取开始和结束位置 363
13.4.13 GetThumbRect方法——获取边界矩形 363
13.4.14 GetTic方法——获取刻度线位置 364
13.4.15 GetTicArray方法——获取刻度线数组地址 364
13.4.16 GetTicPos方法——获取刻度线物理位置 364
13.4.17 GetToolTips方法——获取工具提示句柄 364
13.4.18 SetBuddy方法——分配伙伴窗口 365
13.4.19 SetLineSize方法——设置行大小 365
13.4.20 SetPageSize方法——设置页大小 365
13.4.21 SetPos方法——设置滑块位置 366
13.4.22 SetRange方法——设置范围 366
13.4.23 SetRangeMax方法——设置最大范围 366
13.4.24 SetRangeMin方法——设置最小范围 366
13.4.25 SetSelection方法——设置开始和结束位置 367
13.4.26 SetTic方法——设置刻度线位置 367
13.4.27 SetTicFreq方法——设置刻度线频率 367
13.4.28 SetTipSide方法——定位工具提示 367
13.4.29 SetToolTips方法——设置工具提示 368
13.4.30 VerifyPos方法——检验滑块位置 368
13.5 CProgressCtrl类——进度条控件 368
13.5.1 GetRange方法——获取范围 368
13.5.2 OffsetPos方法——增加位置 369
13.5.3 SetRange方法——设置范围 369
13.5.4 SetRange32方法——设置32位范围 369
13.5.5 SetStep方法——设置步长 369
13.5.6 StepIt方法——增加位置 370
13.6 CScrollBar类——滚动条控件 370
13.6.1 EnableScrollBar方法——设置箭头有效或无效 370
13.6.2 GetScrollInfo方法——获取滚动条信息 371
13.6.3 GetScrollLimit方法——获取最大滚动位置 371
13.6.4 GetScrollPos方法——获取位置 371
13.6.5 GetScrollRange方法——获取范围 372
13.6.6 SetScrollInfo方法——设置滚动条信息 372
13.6.7 SetScrollPos方法——设置位置 372
13.6.8 SetScrollRange方法——设置范围 373
13.6.9 ShowScrollBar方法——显示或隐藏滚动条 373
13.7 CButton类——按钮控件 374
13.7.1 GetButtonStyle方法——返回按钮风格 374
13.7.2 GetState方法——返回按钮状态 374
13.7.3 SetButtonStyle方法——改变按钮风格 374
13.7.4 SetState方法——设置按钮状态 375
13.8 CBitmapButton类——位图按钮控件 375
13.8.1 AutoLoad方法——加载并显示位图 375
13.8.2 LoadBitmaps方法——加载位图图像 375
13.8.3 SizeToContent方法——调整位图按钮大小 376
13.9 CSpinButtonCtrl类——微调按钮控件 377
13.9.1 Create方法——创建微调按钮 377
13.9.2 GetBase方法——获取基数值 377
13.9.3 GetBuddy方法——获取伙伴窗口指针 378
13.9.4 GetPos方法——获取位置 378
13.9.5 GetRange方法——获取范围 378
13.9.6 SetBase方法——设置基数值 378
13.9.7 SetBuddy方法——设置伙伴窗口 379
13.9.8 SetPos方法——设置位置 379
13.9.9 SetRange方法——设置范围 379
13.10 CListBox类——列表框控件 379
13.10.1 AddString方法——添加字符串 379
13.10.2 CompareItem方法——确定新项相对位置 380
13.10.3 DeleteItem方法——删除列表项 381
13.10.4 DeleteString方法——删除字符串 381
13.10.5 Dir方法——添加盘符到列表框 382
13.10.6 FindString方法——查找包含指定前缀的第一个字符串 382
13.10.7 FindStringExact方法——查找指定的字符串 382
13.10.8 GetCaretIndex方法——确定具有焦点矩形项的索引 383
13.10.9 GetCount方法——获取列表框中的项目数 383
13.10.10 GetCurSel方法——获取当前选项的索引 383
13.10.11 GetItemHeight方法——获取指定列表框中项的高度 384
13.10.12 GetItemRect方法——获取列表项区域 384
13.10.13 GetSelCount方法——获取当前选中的选项数 385
13.10.14 GetSelItems方法——将选择项的数目填入缓冲区 385
13.10.15 GetText方法——获取一个字符串 385
13.10.16 GetTextLen方法——返回列表框中某一项的长度 386
13.10.17 GetTopIndex方法——获取第一个可视项的索引 387
13.10.18 InsertString方法——插入一个字符串 387
13.10.19 ItemFromPoint方法——确定鼠标指针所在的项 388
13.10.20 ResetContent方法——删除列表框中所有字符串 388
13.10.21 SelectString方法——查找指定的字符串 388
13.10.22 SetCaretIndex方法——设置焦点矩形指定索引的项 389
13.10.23 SetColumnWidth方法——设置列的宽度 389
13.10.24 SetCurSel方法——设置当前选中的选项 389
13.10.25 SetItemHeight方法——设置列表框项的高度 389
13.10.26 SetTopIndex方法——保证某个列表框项可见 390
13.11 CCheckListBox类——复选列表框控件 390
13.11.1 Enable方法——设置是否允许存取复选列表框中的项 390
13.11.2 GetCheck方法——获得项的选中状态 390
13.11.3 GetCheckStyle方法——获得复选列表框的风格 392
13.11.4 IsEnabled方法——检测项是否可存取 392
13.11.5 SetCheck方法——设置项的复选框状态 392
13.11.6 SetCheckStyle方法——设置复选框的风格 393
13.12 CDragListBox类——拖曳列表框控件 393
13.12.1 BeginDrag方法——开始拖动 393
13.12.2 CancelDrag方法——取消拖动 394
13.12.3 Dragging方法——列表项拖动中 394
13.12.4 DrawInsert方法——绘制插入点 394
13.12.5 Dropped方法——拖动项落下 394
13.12.6 ItemFromPt方法——获得某处列表框项的索引 395
13.13 CComboBox类——组合框控件 395
13.13.1 GetDroppedControlRect方法——获取下拉列表框在屏幕上的坐标 395
13.13.2 GetDroppedState方法——判断下拉组合框的列表框是否可见 395
13.13.3 GetEditSel方法——获取被选中字符串的起止位置 396
13.13.4 GetLBText方法——获取列表框中指定位置的字符串 396
13.13.5 GetLBTextLen方法——返回列表框指定位置的字符串长度 396
13.13.6 LimitText方法——设置输入文本的最大长度 396
13.13.7 SetEditSel方法——使字符串处于选中状态 397
13.13.8 ShowDropDown方法——显示或隐藏列表框 397
13.14 CComboBoxEx类——扩展组合框控件 397
13.14.1 DeleteItem方法——删除组合框中的指定项 398
13.14.2 GetComboBoxCtrl方法——获得组合框控件的指针 398
13.14.3 GetEditCtrl方法——获得编辑框控件的指针 398
13.14.4 GetExtendedStyle方法——获得控件的扩展风格 398
13.14.5 GetImageList方法——获得图像列表的指针 398
13.14.6 GetItem方法——获取组合框中项信息 399
13.14.7 HasEditChanged方法——确定是否改变了输入内容 399
13.14.8 InsertItem方法——插入项 399
13.14.9 SetExtendedStyle方法——设置扩展风格 400
13.14.10 SetImageList方法——关联的图像列表 400
13.14.11 SetItem方法——设置组合框中指定项的信息 401
13.15 CImageList类——图像列表控件 402
13.15.1 Add方法——将图像或图标添加到图像列表中 402
13.15.2 Attach方法——附加图像列表 403
13.15.3 BeginDrag方法——开始拖动图像 403
13.15.4 Copy方法——复制图像列表 403
13.15.5 Create方法——创建图像列表 404
13.15.6 DeleteImageList方法——删除图像列表 405
13.15.7 DeleteTempMap方法——删除临时对象 405
13.15.8 Detach方法——分离图像列表 405
13.15.9 DragEnter方法——拖动中封锁窗口更新 406
13.15.10 DragLeave方法——解锁窗口 406
13.15.11 DragMove方法——移动正被拖动的图像 406
13.15.12 DragShowNolock方法——显示或隐藏图像 407
13.15.13 Draw方法——绘制图像列表中的图像 407
13.15.14 DrawIndirect方法——从图像列表中绘制图像 408
13.15.15 EndDrag方法——结束拖动操作 409
13.15.16 ExtractIcon方法——创建图标及其相关掩码 409
13.15.17 FromHandle方法——返回指向对象的指针 410
13.15.18 FromHandlePermanent方法——指定图像列表句柄 410
13.15.19 GetBkColor方法——获取图列表的当前背景色 410
13.15.20 GetDragImage方法——获得拖动的临时图像列表 410
13.15.21 GetImageCount方法——获取图像列表中的图像数 411
13.15.22 GetImageInfo方法——获取有关的图像信息 411
13.15.23 GetSafeHandle方法——获取m_hImageList数据成员 411
13.15.24 Remove方法——移走一个图像 411
13.15.25 Replace方法——替换图像列表中的图像 412
13.15.26 SetBkColor方法——设置图像列表的背景色 412
13.15.27 SetDragCursorImage方法——构造新的拖动图像 412
13.15.28 SetImageCount方法——重新设置图像数 413
13.16 CHeaderCtrl类——标头控件 413
13.16.1 Create方法——创建标头控件 413
13.16.2 CreateDragImage方法——获取图像列表指针 414
13.16.3 DeleteItem方法——删除一个项目 414
13.16.4 GetImageList方法——返回图像列表指针 415
13.16.5 GetItem方法——获取关于标头控件项目的信息 415
13.16.6 GetItemCount方法——获取项目个数 415
13.16.7 GetItemRect方法——获得项目区域 415
13.16.8 GetOrderArray方法——获得标头项目的显示顺序 416
13.16.9 InsertItem方法——插入指定索引的项目 416
13.16.10 Layout方法——获取指定矩形的大小和位置 416
13.16.11 OrderToIndex方法——获得项目索引的顺序 417
13.16.12 SetHotDivider方法——获得高亮显示的分隔符索引 417
13.16.13 SetImageList方法——关联图像列表 417
13.16.14 SetItem方法——设置标头控件中项目的信息 417
13.16.15 SetOrderArray方法——设置标头控件的显示顺序 418
13.17 CListCtrl类——列表视图控件 418
13.17.1 CreateDragImage方法——创建拖动图像列表 418
13.17.2 DeleteAllItems方法——删除所有视图项 418
13.17.3 DeleteColumn方法——从列表视图中删除一列 419
13.17.4 FindItem方法——查找视图项 419
13.17.5 GetBkImage方法——获得背景图像 419
13.17.6 GetColumnWidth方法——获取列的宽度 419
13.17.7 GetEditControl方法——获取编辑控件的句柄 420
13.17.8 GetExtendedStyle方法——获得扩展风格 420
13.17.9 GetFirstSelectedItemPosition方法——获取第一个选择项位置 420
13.17.10 GetImageList方法——获取图像列表的句柄 420
13.17.11 GetItemCount方法——获取列表视图中项目数量 421
13.17.12 GetItemPosition方法——获取某个项目的位置 421
13.17.13 GetItemRect方法——获取视图项的显示区域 421
13.17.14 GetItemText方法——获得视图项的文本 422
13.17.15 GetNextSelectedItem方法——获得下一个列表项 423
13.17.16 GetSelectedCount方法——获取被选择的项的数目 424
13.17.17 GetSelectionMark方法——获取选中的视图项索引 424
13.17.18 GetStringWidth方法——获取最小列宽 424
13.17.19 GetTextBkColor方法——获取文本的背景色 424
13.17.20 InsertColumn方法——向列表视图控件添加列 425
13.17.21 SetBkImage方法——设置列表视图控件的背景图像 425
13.17.22 SetColumnWidth方法——设置列的宽度 426
13.17.23 SetExtendedStyle方法——设置列表视图的扩展风格 426
13.17.24 SetImageList方法——设置列表视图控件关联的图像列表 426
13.17.25 SetItemCount方法——设置项目数 427
13.17.26 SetItemPosition方法——将某个项目放置在指定的位置 427
13.17.27 SetItemText方法——设置视图项的文本 427
13.17.28 SetSelectionMark方法——设置选择标记 428
13.17.29 SetTextBkColor方法——设置文本背景颜色 428
13.18 CTreeCtrl类——树控件 428
13.18.1 Expand方法——展开或收缩结点 428
13.18.2 GetChildItem方法——获得指定结点的子结点 429
13.18.3 GetDropHilightItem方法——获取一次拖放操作的目标 429
13.18.4 GetFirstVisibleItem方法——获得第一个可视结点 429
13.18.5 GetNextSiblingItem方法——获取下一个兄弟结点 430
13.18.6 GetNextVisibleItem方法——获得下一个可视结点 430
13.18.7 GetParentItem方法——获得所标识结点的父结点 430
13.18.8 GetPrevSiblingItem方法——获取上一个兄弟结点 431
13.18.9 GetPrevVisibleItem方法——获得上一个可视结点 431
13.18.10 GetRootItem方法——返回根结点 431
13.18.11 GetSelectedItem方法——获得树视图控件当前选中的结点 432
13.18.12 GetTextColor方法——获取控件的当前文本颜色 432
13.18.13 InsertItem方法——插入结点 432
13.18.14 ItemHasChildren方法——确定所标识的结点是否有子结点 433
13.18.15 SelectDropTarget方法——拖放操作目标的风格 433
13.18.16 SelectItem方法——选中给定的结点 433
13.18.17 SelectSetFirstVisible方法——使指定结点成为第一个可视结点 434
13.18.18 SetTextColor方法——设置控件的文本颜色 434
13.19 CToolTipCtrl类——工具提示控件 434
13.19.1 Activate方法——激活一个工具提示控件 434
13.19.2 AddTool方法——注册一个工具 435
13.19.3 DelTool方法——删除指定的工具 435
13.19.4 GetDelayTime方法——返回延迟时间 436
13.19.5 GetMaxTipWidth方法——返回一个工具提示窗口的最大宽度 436
13.19.6 GetTipBkColor方法——返回一个代表背景颜色的COLORREF值 436
13.19.7 GetTipTextColor方法——返回一个代表文本颜色的COLORREF值 436
13.19.8 GetToolCount方法——获取向工具提示控件注册的工具数目 437
13.19.9 GetToolInfo方法——获取工具的信息 437
13.19.10 RelayEvent方法——将鼠标消息传递给工具提示控件处理 437
13.19.11 SetDelayTime方法——设置延迟时间 438
13.19.12 SetMaxTipWidth方法——返回先前的最大提示宽度 438
13.19.13 SetTipBkColor方法——设置背景颜色 438
13.19.14 SetTipTextColor方法——设置文本颜色 438
13.19.15 SetToolInfo方法——设置工具信息 439
13.19.16 UpdateTipText方法——更新工具提示文本 439
13.20 CTabCtrl类——标签控件 439
13.20.1 GetCurFocus方法——获得具有焦点的标签索引 440
13.20.2 SetCurFocus方法——使某个标签获得焦点 440
13.20.3 SetItemSize方法——设置标签项的大小 440
13.20.4 SetMinTabWidth方法——设置标签的最小宽度 440
13.20.5 SetPadding方法——设置标签图标和周围空间数量 441
13.21 CDateTimeCtrl类——时间控件 441
13.21.1 GetMonthCalColor方法——获得指定月的颜色 441
13.21.2 GetMonthCalFont方法——获得字体 441
13.21.3 GetRange方法——获取时间范围 442
13.21.4 GetTime方法——获得当前时间 442
13.21.5 SetFormat方法——设置显示时间和日期的格式 442
13.21.6 SetMonthCalColor方法——设置指定月份的颜色 443
13.21.7 SetMonthCalFont方法——设置子控件的字体 443
13.21.8 SetRange方法——设置范围 443
13.21.9 SetTime方法——设置时间 444
13.22 CMonthCalCtrl类——月历控件 444
13.22.1 GetColor方法——获取月历控件指定区域的颜色 444
13.22.2 GetFirstDayOfWeek方法——获取月历显示的星期值 445
13.22.3 GetMaxSelCount方法——获取能够选择的日期最大值 445
13.22.4 GetMinReqRect方法——获取显示完整月的最小值 445
13.22.5 GetMonthRange方法——获取日期范围 445
13.22.6 GetSelRange方法——获取选定范围的有关信息 446
13.22.7 GetToday方法——获取当天日期信息 447
13.22.8 SetColor方法——设置指定区域颜色 447
13.22.9 SetDayState方法——设置要显示的日期 448
13.22.10 SetFirstDayOfWeek方法——设置星期值 448
13.22.11 SetMaxSelCount方法——日期值设置为最大 448
13.22.12 SetSelRange方法——设置为给定的日期范围 448
13.22.13 SetToday方法——设置月历控件的当天值 449
13.22.14 SizeMinReq方法——最小化显示一个月 449
13.23 CAnimateCtrl类——动画控件 450
13.23.1 Close方法——关闭动画 450
13.23.2 Create方法——创建动画控件 450
13.23.3 Open方法——打开一个AVI文件 451
13.23.4 Play方法——播放AVI动画 451
13.23.5 Seek方法——显示AVI动画中的指定帧 452
13.23.6 Stop方法——停止播放AVI动画 452
13.24 CHotKeyCtrl类——热键控件 452
13.24.1 GetHotKey方法——获取虚拟键代码和修正符标志 452
13.24.2 SetHotKey方法——设置热键 453
13.24.3 SetRules方法——定义无效组合和默认修正符组合 453
13.25 CIPAddressCtrl类——IP控件 454
13.25.1 ClearAddress方法——清除IP控件中的内容 454
13.25.2 GetAddress方法——获得IP控件中的IP地址 454
13.25.3 IsBlank方法——判断IP控件中的区域是否为空 454
13.25.4 SetAddress方法——设置IP控件中的IP地址 455
13.25.5 SetFieldFocus方法——设置指定字段 455
13.25.6 SetFieldRange方法——设置某个IP地址字段的范围 456
第14章 输出类 457
14.1 CDC类——设备上下文 457
14.1.1 AbortPath方法——关闭拒绝路径 457
14.1.2 AngleArc方法——绘制圆弧和线 457
14.1.3 Arc方法——绘制椭圆弧 458
14.1.4 ArcTo方法——画一段椭圆弧 459
14.1.5 BeginPath方法——开始绘制路径 460
14.1.6 BitBlt方法——复制位图到当前设备 460
14.1.7 Chord方法——绘制椭圆弧 463
14.1.8 CloseFigure方法——关闭一个打开的图表 464
14.1.9 CreateCompatibleDC方法——创建兼容的设备上下文 465
14.1.10 CreateDC方法——创建设备环境 465
14.1.11 CreateIC方法——创建信息上下文 466
14.1.12 DeleteDC方法——删除设备上下文 466
14.1.13 DPtoLP方法——将设备单位转换为逻辑单位 467
14.1.14 Draw3dRect方法——绘制三维矩形 467
14.1.15 DrawEdge方法——绘制边框 468
14.1.16 DrawFocusRect方法——绘制焦点矩形 469
14.1.17 DrawFrameControl方法——绘制控件 469
14.1.18 DrawIcon方法——绘制图标 470
14.1.19 DrawState方法——绘制状态图像 471
14.1.20 DrawText方法——绘制文本 472
14.1.21 Ellipse方法——绘制椭圆 474
14.1.22 EndDoc方法——结束打印 475
14.1.23 EndPage方法——开始打印新页 475
14.1.24 EndPath方法——结束绘制路径 476
14.1.25 EnumObjects方法——枚举画笔和画刷 476
14.1.26 ExtFloodFill方法——使用画刷填充区域 477
14.1.27 ExtTextOut方法——绘制文本 478
14.1.28 FillPath方法——填充路径 479
14.1.29 FillRect方法——填充矩形 479
14.1.30 FillRgn方法——填充区域 481
14.1.31 FillSolidRect方法——用实体画刷填充区域 481
14.1.32 FloodFill方法——用画刷填充区域 482
14.1.33 FrameRect方法——绘制矩形边框 482
14.1.34 FrameRgn方法——绘制区域边框 482
14.1.35 GetBkColor方法——获取背景色 483
14.1.36 GetBkMode方法——获取背景模式 483
14.1.37 GetBoundsRect方法——获取绑定矩形 483
14.1.38 GetBrushOrg方法——获取当前画刷的起点 484
14.1.39 GetCurrentBitmap方法——获取当前选择的位图 484
14.1.40 GetCurrentBrush方法——获取当前选择的画刷 484
14.1.41 GetCurrentFont方法——获取当前选择的字体 485
14.1.42 GetCurrentPalette方法——获取当前选择的色板 485
14.1.43 GetCurrentPen方法——获取当前选择的画笔 485
14.1.44 GetCurrentPosition方法——获取画笔的当前位置 486
14.1.45 GetDeviceCaps方法——获取设备信息 486
14.1.46 GetHalftoneBrush方法——获取半色调画刷 488
14.1.47 GetKerningPairs方法——获取选取的字体字符 488
14.1.48 GetMapMode方法——获取当前映射模式 488
14.1.49 GetOutlineTextMetrics方法——获取字体度量信息 489
14.1.50 GetOutputTabbedTextExtent方法——获取字符串的宽度和高度 489
14.1.51 GetOutputTextExtent方法——获取文本行的宽度和高度 490
14.1.52 GetPath方法——获取路径 490
14.1.53 GetPixel方法——获取指定点的RGB值 491
14.1.54 GetPolyFillMode方法——获取当前多边形填充模式 492
14.1.55 GetROP2方法——获取当前绘图模式 492
14.1.56 GetSafeHdc方法——获取设备上下文的句柄 492
14.1.57 GetStretchBltMode方法——获取缩放模式 493
14.1.58 GetTabbedTextExtent方法——获取字符串的宽度和高度 493
14.1.59 GetTextAlign方法——获取文本对齐标记 494
14.1.60 GetTextCharacterExtra方法——获取字符间距值 494
14.1.61 GetTextExtent方法——获取文本行的宽度和高度 495
14.1.62 GetViewportExt方法——获取视图大小 495
14.1.63 GetViewportOrg方法——获取视图原点 496
14.1.64 GetWindow方法——获取窗口 496
14.1.65 GetWindowExt方法——获取窗口大小 496
14.1.66 GetWindowOrg方法——获取窗口原点 497
14.1.67 GrayString方法——绘制灰显位图文本 497
14.1.68 InvertRect方法——反转矩形内容 498
14.1.69 InvertRgn方法——反转区域中的颜色 498
14.1.70 IsPrinting方法——是否正在打印 498
14.1.71 LineTo方法——从当前位置开始画线 499
14.1.72 LPtoDP方法——逻辑单位转换为设备单位 500
14.1.73 MoveTo方法——移动到画线的当前位置 501
14.1.74 OffsetClipRgn方法——移动剪切区域 501
14.1.75 OffsetViewportOrg方法——移动视图原点 502
14.1.76 OffsetWindowOrg方法——移动窗口原点 502
14.1.77 PaintRgn方法——绘制区域 503
14.1.78 Pie方法——绘制饼形图 503
14.1.79 PolyDraw方法——绘制一组线段 504
14.1.80 Polygon方法——绘制多边形 505
14.1.81 Polyline方法——画一组与指定点连接的线段 506
14.1.82 PolylineTo方法——画多条直线 506
14.1.83 PolyPolygon方法——绘制多个多边形 507
14.1.84 PolyPolyline方法——画多组相连线段 507
14.1.85 PtVisible方法——确定给定点是否在剪切区域内 508
14.1.86 RealizePalette方法——将逻辑调色板映射到系统调色板 508
14.1.87 Rectangle方法——绘制矩形 508
14.1.88 RectVisible方法——判断给定矩形的任一部分是否在剪切区内 509
14.1.89 ResetDC方法——更新设备上下文 510
14.1.90 RestoreDC方法——恢复设备上下文 510
14.1.91 RoundRect方法——绘制圆角矩形 511
14.1.92 SaveDC方法——保存设备上下文 512
14.1.93 ScaleWindowExt方法——修改窗口范围 513
14.1.94 SelectClipPath方法——合并新区域和剪切区域 513
14.1.95 SelectClipRgn方法——合并给定区域和剪切区域 514
14.1.96 SelectObject方法——选择对象 514
14.1.97 SelectPalette方法——选择调色板 515
14.1.98 SelectStockObject方法——选择Windows提供的GDI对象 515
14.1.99 SetAbortProc方法——设置打印终止的回调函数 516
14.1.100 SetBkColor方法——设置当前背景色 517
14.1.101 SetBkMode方法——设置背景模式 517
14.1.102 SetBoundsRect方法——设置外接矩形 518
14.1.103 SetBrushOrg方法——设置画刷原点 519
14.1.104 SetMapMode方法——设置当前映射模式 519
14.1.105 SetPixel方法——设置指定点像素值 520
14.1.106 SetPixelV方法——设置指定像素下最接近的颜色 520
14.1.107 SetPolyFillMode方法——设置多边形填充模式 521
14.1.108 SetROP2方法——设置当前绘图模式 521
14.1.109 SetStretchBltMode方法——设置当前位图拉伸模式 522
14.1.110 SetTextAlign方法——设置文本对齐方式 523
14.1.111 SetTextCharacterExtra方法——设置字符串中空格的数量 525
14.1.112 SetViewportExt方法——设置视区范围 525
14.1.113 SetViewportOrg方法——设置视区起点坐标 526
14.1.114 SetWindowExt方法——设置窗体范围 526
14.1.115 SetWindowOrg方法——设置窗体起点坐标 527
14.1.116 StartDoc方法——开始一项新的打印作业 527
14.1.117 StartPage方法——通告设备驱动程序开始一项新的打印作业 527
14.1.118 StretchBlt方法——缩放复制位图到设备上下文 528
14.1.119 StrokeAndFillPath方法——关闭路径并用画刷填充 530
14.1.120 StrokePath方法——使用当前笔绘制指定路径 531
14.1.121 TabbedTextOut方法——在指定制表位上输出字符串 532
14.1.122 TextOut方法——输出字符 533
14.1.123 WidenPath方法——重新定义当前路径为要画的区域 535
14.2 CPaintDC类——绘制设备上下文 535
14.3 CClientDC类——客户区设备上下文 535
14.4 CWindowDC类——窗口设备上下文 536
14.5 CMetaFileDC类——图元文件设备上下文 536
14.5.1 Close方法——关闭图元文件句柄 536
14.5.2 CloseEnhanced方法——关闭增强格式的图元文件句柄 537
14.5.3 CMetaFileDC方法——构造方法 537
14.5.4 CreateEnhanced方法——创建Windows增强格式的元文件设备上下文 537
第五篇 Visual C++高级应用第15章 图形工具类 540
15.1 CGdiObject类——图形对象类 540
15.1.1 CreateStockObject方法——获得GDI对象句柄 540
15.1.2 DeleteObject方法——删除GDI对象 541
15.1.3 GetObjectType方法——获得GDI对象的类型 541
15.1.4 GetSafeHandle方法——返回对象指针 541
15.2 CBrush类——画刷类 542
15.2.1 CreateBrushIndirect方法——通过LOGBRUSH结构创建画刷 542
15.2.2 CreateDIBPatternBrush方法——通过位图创建画刷 543
15.2.3 CreateHatchBrush方法——创建阴影画刷 544
15.2.4 CreatePatternBrush方法——通过颜色模板创建画刷 545
15.2.5 CreateSolidBrush方法——创建实体画刷 546
15.2.6 CreateSysColorBrush方法——通过颜色创建画刷 548
15.2.7 GetLogBrush方法——取得LOGBRUSH结构 548
15.3 CPen类——画笔类 549
15.3.1 CreatePen方法——动态创建画笔 549
15.3.2 CreatePenIndirect方法——用LOGPEN结构创建画笔 552
15.3.3 GetExtLogPen方法——获取EXTLOGPEN结构 552
15.3.4 GetLogPen方法——获取LOGPEN结构 553
15.4 CFont类——字体类 553
15.4.1 CreateFont方法——创建字体 554
15.4.2 CreateFontIndirect方法——创建由LOGFONT结构给出其特征的字体 555
15.4.3 CreatePointFont方法——用于指定高度和字体创建字体对象 558
15.4.4 CreatePointFontIndirect方法——创建字体 558
15.4.5 GetLogFont方法——获得LOGFONT结构 559
15.5 CBitmap类——位图类 559
15.5.1 CreateBitmap方法——创建位图 560
15.5.2 CreateBitmapIndirect方法——创建位图 560
15.5.3 CreateCompatibleBitmap方法——创建位图 560
15.5.4 CreateDiscardableBitmap方法——创建位图 561
15.5.5 GetBitmap方法——获取位图信息 561
15.5.6 LoadBitmap方法——加载位图资源 561
15.6 CRgn类——区域类 563
15.6.1 CombineRgn方法——两个区域的联合 563
15.6.2 CopyRgn方法——复制区域 564
15.6.3 CreateEllipticRgn方法——创建椭圆形区域 565
15.6.4 CreateEllipticRgnIndirect方法——创建椭圆形区域 565
15.6.5 CreateFromPath方法——通道中创建区域 566
15.6.6 CreatePolygonRgn方法——创建多边形区域 567
15.6.7 CreatePolyPolygonRgn方法——创建多边形区域 567
15.6.8 CreateRectRgn方法——创建矩形区域 568
15.6.9 CreateRectRgnIndirect方法——创建矩形区域 569
15.6.10 CreateRoundRectRgn方法——创建圆角矩形区域 569
15.6.11 PtInRegion方法——判断点是否在矩形内 569
15.6.12 RectInRegion方法——判断矩形是否在区域内 570
15.6.13 SetRectRgn方法——设置矩形区域 570
第16章 文件输入输出类 572
16.1 CFile类——文件类 572
16.1.1 CFile方法——构造文件类对象 572
16.1.2 Close方法——关闭CFile对象 573
16.1.3 GetFileName方法——获取文件名 573
16.1.4 GetFilePath方法——获取完整路径 574
16.1.5 GetFileTitle方法——获得文件标题 575
16.1.6 GetLength方法——获取文件长度 576
16.1.7 GetPosition方法——获取文件指针位置 576
16.1.8 GetStatus方法——获取文件属性 577
16.1.9 LockRange方法——锁定文件 578
16.1.10 Open方法——打开文件 579
16.1.11 Read方法——读取文件 580
16.1.12 ReadHuge方法——读取大文件 580
16.1.13 Remove方法——删除文件 581
16.1.14 Rename方法——重命名文件 581
16.1.15 Seek方法——定位文件 582
16.1.16 SeekToBegin方法——定位到文件开头 582
16.1.17 SeekToEnd方法——定位到文件结尾 583
16.1.18 SetFilePath方法——设置文件路径 584
16.1.19 SetLength方法——改变文件长度 584
16.1.20 SetStatus方法——设置文件属性 585
16.1.21 UnlockRange方法——解锁文件 585
16.1.22 Write方法——将数据写入文件 586
16.1.23 WriteHuge方法——将大数据写入文件 587
16.2 CStdioFile类——流式文件类 587
16.2.1 CStdioFile方法——构造CStdioFile对象 587
16.2.2 ReadString方法——读取字符串 588
16.2.3 WriteString方法——写入字符串 588
16.3 CMemFile类——驻留文件类 589
16.3.1 Attach方法——分配内存 589
16.3.2 Detach方法——获取内存块指针 589
16.3.3 CMemFile方法——创建内存文件 590
16.4 CSharedFile类——共享文件类 590
16.5 CFileFind类——文件查找类 591
16.5.1 FindFile方法——查找文件 591
16.5.2 FindNextFile方法——查找下一个文件 591
16.5.3 GetCreationTime方法——获得文件创建时间 592
16.5.4 GetLastAccessTime方法——获得最后访问时间 592
16.5.5 GetLastWriteTime方法——获得最后修改时间 593
16.5.6 GetRoot方法——获得所在文件夹路径 593
16.5.7 IsArchived方法——是否是文档文件 594
16.5.8 IsCompressed方法——是否有压缩属性 594
16.5.9 IsDirectory方法——是否是文件夹 594
16.5.10 IsDots方法——是否是“.”或“..” 595
16.5.11 IsHidden方法——是否有隐藏属性 595
16.5.12 IsNormal方法——是否是一般文件 595
16.5.13 IsReadOnly方法——是否有只读属性 596
16.5.14 IsSystem方法——是否有系统属性 596
16.5.15 IsTemporary方法——是否是临时文件 596
16.5.16 MatchesMask方法——设置要查找的文件属性 597
第17章 网络相关类 598
17.1 CAsyncSocket类——异步套接字类 598
17.1.1 Accept方法——接收一个套接字的连接 598
17.1.2 AsyncSelect方法——请求套接字的事件通知 599
17.1.3 Bind方法——绑定套接字 599
17.1.4 Close方法——关闭套接字 600
17.1.5 Connect方法——建立一个套接字连接 600
17.1.6 GetPeerName方法——获得套接字连接的IP地址 601
17.1.7 GetSockName方法——获取套接字的本地名称 602
17.1.8 GetSockOpt方法——检索套接字选项的值 602
17.1.9 Listen方法——监听套接字的连接请求 603
17.1.10 OnAccept方法——在套接字接收连接请求时触发 603
17.1.11 OnClose方法——套接字被关闭时触发 604
17.1.12 OnConnect方法——套接字被连接后触发 604
17.1.13 OnReceive方法——数据被接收时触发 604
17.1.14 OnSend方法——套接字发送数据时触发 605
17.1.15 Receive方法——从一个套接字上接收数据 606
17.1.16 ReceiveFrom方法——接收面向无连接传递的数据 606
17.1.17 Send方法——发送数据到连接的套接字上 607
17.1.18 SendTo方法——发送数据 608
17.1.19 SetSockOpt方法——设置套接字选项 609
17.1.20 ShutDown方法——断开数据的发送或接收 610
17.2 CSocket类——套接字类 610
17.2.1 CancelBlockingCall方法——取消阻塞模式 610
17.2.2 IsBlocking方法——是否处于阻塞状态 611
17.2.3 OnMessagePending方法——处理未解决的消息 611
17.3 CSocketFile类——套接字文件类 612
17.4 CFtpConnection类——FTP连接类 612
17.4.1 CFtpConnection方法——构造CFtpConnection对象 612
17.4.2 Close方法——关闭服务器上的连接 613
17.4.3 CreateDirectory方法——创建一个新的目录 614
17.4.4 GetCurrentDirectory方法——获得当前连接的FTP目录 614
17.4.5 GetCurrentDirectoryAsURL方法——获取作为URL当前连接的目录 614
17.4.6 GetFile方法——从FTP服务器上下载文件 615
17.4.7 OpenFile方法——在FTP服务器上打开文件 616
17.4.8 PutFile方法——向服务器上存放文件 616
17.4.9 Remove方法——从连接的服务器上移除文件 617
17.4.10 RemoveDirectory方法——从服务器上移除指定的目录 617
17.4.11 Rename方法——在服务器上重命名一个文件 617
17.4.12 SetCurrentDirectory方法——改变FTP服务器目录 618
17.5 CFtpFileFind类——FTP文件查找类 618
17.5.1 CFtpFileFind方法——构造CFtpFileFind对象 618
17.5.2 FindFile方法——在FTP服务器上查找文件 618
17.5.3 FindNextFile方法——在FTP服务器上查找下一个文件 619
17.5.4 GetFileURL方法——获得指定文件的URL 620
第18章 常用MFC宏 621
18.1 消息映射的声明和分界宏 621
18.1.1 BEGIN_MESSAGE_MAP宏——开始消息映射的定义 621
18.1.2 DECLARE_MESSAGE_MAP宏——使用消息映射 621
18.1.3 END_MESSAGE_MAP宏——结束消息映射的定义 622
18.2 消息映射宏 622
18.2.1 ON_COMMAND宏——处理来自用户的请求 622
18.2.2 ON_COMMAND_RANGE宏——处理一组命令消息 623
18.2.3 ON_CONTROL宏——控件通知消息映射宏 623
18.2.4 ON_CONTROL_RANGE宏——判断指定的字符串中是否包含指定的char值序列 625
18.2.5 ON_NOTIFY宏——通知消息映射宏 625
18.2.6 ON_NOTIFY_RANGE宏——同时处理一组通知消息 626
18.3 反射消息映射宏 627
18.3.1 ON_CONTROL_REFLECT宏——与控件通知有关的反射消息映射宏 627
18.3.2 ON_NOTIFY_REFLECT宏——与通知消息有关的反射消息映射宏 628
18.4 通用调试宏 628
18.4.1 ASSERT宏——调试信息 628
18.4.2 ASSERT_VALID宏——检验关于对象内部状态的有效性假定 628
18.5 用户定义消息处理宏 629
18.6 异常处理宏 629
18.6.1 CATCH宏——抛出异常类型 629
18.6.2 TRY宏——建立一个TRY块 630
第19章 常用全局函数 632
19.1 AfxBeginThread函数——创建新线程 632
19.2 AfxEnableControlContainer函数——提供对ActiveX控件容器的支持 633
19.3 AfxEndThread函数——结束线程 633
19.4 AfxFormatString函数——格式化字符串 634
19.5 AfxGetApp函数——访问应用程序的信息 634
19.6 AfxGetAppName函数——获取并返回当前应用程序的名称 634
19.7 AfxGetInstanceHandle函数——获得当前应用程序的实例句柄 635
19.8 AfxGetMainWnd函数——获得程序主窗口指针 635
19.9 AfxMessageBox函数——显示消息对话框 636
19.10 AfxRegisterClass函数——注册窗口类 637
19.11 AfxThrowResourceException函数——抛出资源异常 637
19.12 DDX_Control函数——管理数据交换 638
索引 639
1.18 floor函数——求不大于x的最大整数 11
1.19 fmod函数——求x/y的余数 11
1.20 frexp函数——把参数x调整到0.5~1之间 11
1.21 labs函数——求长整型参数的绝对值 12
1.22 ldexp函数——求参数的2^ exp倍数 12
1.23 ldiv函数——求两个长整型数相除的 商和余数 13
1.24 log函数——自然对数 14
1.25 log10函数——求以10为底的对数 14
1.26 modf函数——求双精度数的小数部分 15
1.27 pow函数——求x的y次方的值 15
第2章 字符函数和字符串函数 17
2.1 _isascii函数——ASCII码是否在0~127之间 17
2.2 _iscsym函数——是否为大/小写字母、下划线或数字0~9 17
2.3 _strdup函数——将字符串存入内存中 18
2.4 _stricmp函数——比较两个字符串 19
2.5 _strlwr函数——将大写字母转换成小写字母 19
2.6 _strnicmp函数——比较特定长度的字符串 20
2.7 _strnset函数——把特定长度的字符设定成某个特定字符 21
2.8 _strrev函数——将字符串倒序排列 21
2.9 _strset函数——把字符设定成某个特定字符 22
2.10 _strupr函数——将小写字母转换成大写字母 22
2.11 _toascii函数——将字符转换成ASCII码 23
2.12 isalnum函数——是否为大/小写字母或数字0~9 23
2.13 isalpha函数——是否为大/小写字母 24
2.14 iscntrl函数——是否为控制字符 25
2.15 isdigit函数——是否为数字0~9 25
2.16 isgraph函数——ASCII码是否在33~126之间 26
2.17 islower函数——是否为小写字母 27
2.18 isprint函数——ASCII码是否在32~126之间 27
2.19 isspace函数——是否为空格、制表符或换行符 28
2.20 isupper函数——是否为大写字母 28
2.21 strcat函数——字符串连接函数 29
2.22 strchr函数——找出给定字符串中特定字符 29
2.23 strcmp函数——对两个字符串进行比较 30
2.24 strcpy函数——对字符串进行复制 31
2.25 strcspn函数——查找第一个是另一个字符串中的字符位置 31
2.26 strlen函数——求字符串的长度 32
2.27 strncat函数——将特定数目的字符串连接到另一个字符串 32
2.28 strncmp函数——比较特定长度的字符串 33
2.29 strncpy函数——复制特定长度的字符串到另一个字符串 34
2.30 strpbrk函数——从第一个是另一个字符串中字符开始输出 34
2.31 strrchr函数——找出字符在字符串中最后出现的位置 35
2.32 strspn函数——查找第一个不是另一个字符串中字符的位置 35
2.33 strstr函数——获得第一次包含另一字符串的位置指针 36
2.34 strtok函数——根据字符串中的字符截断另一个字符串 36
2.35 strxfrm函数——将特定长度的字符串转给另一个字符串 37
2.36 tolower函数——将大写字符转换为小写字符 37
2.37 toupper函数——将小写字符转换为大写字符 38
第3章 时间和日期函数 39
3.1 _ftime函数——读取当前时间 39
3.2 _strdate函数——将当前日期格式化写入字符串 39
3.3 _strtime函数——将当前时间格式化写入字符串 40
3.4 asctime函数——以字符串显示时间 40
3.5 clock函数——当前程序所使用的处理时间 41
3.6 ctime函数——将time_t型转为字符型 42
3.7 difftime函数——求两次系统时间差 42
3.8 gmtime函数——以tm结构表示的时间 43
3.9 localtime函数——以tm结构表示的时间 44
3.10 mktime函数——通过改变tm结构变量改变时间 45
3.11 strftime函数——将tm结构时间格式化写入字符串 46
3.12 time函数——获得时间 46
第4章 类型转换函数 48
4.1 _ecvt函数——将浮点数转换成字符串 48
4.2 _fcvt函数——将浮点数转换成字符串 49
4.3 _itoa函数——将整型数转换成字符串 49
4.4 _ltoa函数——将长整型数转换成字符串 50
4.5 _ultoa函数——将无符号长整型数转换成字符串 51
4.6 atof函数——将字符串转换成双精度数 52
4.7 atoi函数——将字符串转换成整型数 52
4.8 atol函数——将字符串转换成长整型数 54
4.9 strtod函数——将字符串转换为双精度数 54
4.10 strtol函数——将字符串转换为长整型数 55
4.11 strtoul函数——将字符串转换为无符号长整型数 56
第二篇 文件与I/O流函数
第5章 文件目录操作函数 58
5.1 _chdir函数——改变当前的工作目录 58
5.2 _findclose函数——关闭句柄,释放资源 58
5.3 _findfirst函数——搜索第一个文件 59
5.4 _findnext函数——搜索下一个文件 60
5.5 _getcwd函数——获得当前路径名 61
5.6 _mkdir函数——创建指定名称的目录 62
5.7 _mktemp函数——创建唯一的文件名 62
5.8 _rmdir函数——删除目录 63
5.9 _searchenv函数——搜索文件路径 63
5.10 _tempnam函数——生成临时文件名 64
第6章 内存操作函数 65
6.1 _alloca函数——在堆栈上分配内存空间 65
6.2 _expand函数——改变内存区域的字节数 65
6.3 _heapadd函数——把内存区域添加到堆中 66
6.4 _heapchk函数——检查堆的连续性 66
6.5 _heapmin函数——释放没有使用的堆空间 67
6.6 _heapset函数——检查堆的最小连续性 67
6.7 _heapwalk函数——返回堆中下一个项目信息 68
6.8 _msize函数——返回堆中内存区域的字节长度 69
6.9 calloc函数——在内存中取得一块数组空间 70
6.10 free函数——释放内存区块 71
6.11 malloc函数——获取内存区块 71
6.12 realloc函数——重新分配内存 73
第7章 输入输出函数 75
7.1 _access函数——检查文件状态 75
7.2 _chmod函数——改变文件访问模式 76
7.3 _creat函数——创建文件 77
7.4 _eof函数——文件指针是否在结尾 78
7.5 _fcloseall函数——关闭所有文件 80
7.6 _filelength函数——获得文件长度 80
7.7 _getw函数——从文件流中读取一个整数 82
7.8 _putw函数——将一个整数写入文件流中 83
7.9 fclose函数——关闭文件 84
7.10 feof函数——文件流是否在结尾 85
7.11 ferror函数——文件流是否有错误 86
7.12 fflush函数——将缓冲区内容写入文件 86
7.13 fgetc函数——从文件流中读出一个字符 87
7.14 fgets函数——从文件流中读出一行字符 87
7.15 fopen函数——打开文件 88
7.16 fprintf函数——向文件流写入格式化数据 89
7.17 fputs函数——向输出流写入一个字符串 89
7.18 fread函数——从文件流读取数据 90
7.19 freopen函数——为文件指针重新分配文件 90
7.20 fscanf函数——从文件流中读取格式化数据 91
7.21 fseek函数——设置文件操作指示器位置 92
7.22 ftell函数——获取文件操作指示器位置 92
7.23 fwrite函数——向文件流写入数据 93
7.24 getc函数——从文件流中读出一个字符 94
7.25 getchar函数——从输入流中读取一个字符 95
7.26 gets函数——从输入流中读出一行字符 96
7.27 printf函数——将格式化数据写入标准输出流 96
7.28 putc函数——将一个字符写入文件流中 97
7.29 putchar函数——将一个字符写入输出流中 98
7.30 puts函数——将字符串写入输出流中 98
7.31 rewind函数——将文件指针移动到起始位置 99
7.32 scanf函数——从输入流读出格式化数据 99
7.33 sprintf函数——向字符串中写入格式化数据 100
7.34 sscanf函数——从字符串中读出格式化数据 101
第三篇 Visual C++基础类
第8章 简单数据类 104
8.1 CPoint类——坐标点类 104
8.1.1 CPoint构造函数——构造坐标点类对象 104
8.1.2 Offset方法——增加坐标点偏移值 104
8.2 CRect类——矩形类 105
8.2.1 BottomRight方法——获得矩形右下角坐标 105
8.2.2 CenterPoint方法——计算矩形中心点坐标 105
8.2.3 CopyRect方法——复制矩形区域 106
8.2.4 DeflateRect方法——缩小矩形区域 106
8.2.5 EqualRect方法——判断矩形是否相等 107
8.2.6 Height方法——获得矩形高度 108
8.2.7 InflateRect方法——扩大矩形区域 108
8.2.8 IntersectRect方法——获得两个矩形的交集 109
8.2.9 IsRectEmpty方法——判断矩形区域是否为空 109
8.2.10 IsRectNull方法——判断矩形4条边是否都为0 110
8.2.11 NormalizeRect方法——使高度和宽度均为正 110
8.2.12 OffsetRect方法——移动矩形 111
8.2.13 PtInRect方法——判断点是否在矩形区域内 111
8.2.14 SetRect方法——设置矩形左上角和右下角坐标 112
8.2.15 SetRectEmpty方法——设置空矩形 112
8.2.16 Size方法——计算矩形的大小 113
8.2.17 SubtractRect方法——获得两个矩形相减的矩形差 113
8.2.18 TopLeft方法——获得矩形的左上角坐标 114
8.2.19 UnionRect方法——获得包含两个矩形的最小矩形 114
8.2.20 Width方法——获得矩形宽度 114
8.3 CSize类——尺寸类 115
8.4 CTime类——绝对时间类 115
8.4.1 CTime构造函数——构造CTime类对象 116
8.4.2 Format方法——创建日期/时间值的格式化表达式 116
8.4.3 FormatGmt方法——生成对应的格式化字符串 117
8.4.4 GetAsSystemTime方法——转换SYSTEMTIME 117
8.4.5 GetCurrentTime方法——获得系统当前时间 118
8.4.6 GetDay方法——获得CTime对象中的日期信息 119
8.4.7 GetDayOfWeek方法——获得星期信息 119
8.4.8 GetGmtTm方法——获取时间结构 120
8.4.9 GetHour方法——获得小时信息 121
8.4.10 GetMinute方法——获得分钟信息 121
8.4.11 GetSecond方法——获得秒钟信息 121
8.4.12 GetTime方法——返回time_t值 121
8.4.13 GetMonth方法——获得月份信息 122
8.4.14 GetYear方法——获得年份信息 122
8.5 CTimeSpan类——相对时间类 122
8.5.1 CTimeSpan构造函数——构造CtimeSpan类对象 122
8.5.2 Format方法——格式化的时间字符串 123
8.5.3 GetDays方法——获取完整的天数 124
8.5.4 GetHours方法——获得时间段中的小时数 124
8.5.5 GetMinutes方法——获得时间段中的分钟数 124
8.5.6 GetSeconds方法——获得时间段中的秒数 124
8.5.7 GetTotalHours方法——获得所有小时数 125
8.5.8 GetTotalMinutes方法——获得所有分钟数 125
8.5.9 GetTotalSeconds方法——获得所有的秒数 126
8.6 CString类——字符串类 126
8.6.1 AllocSysString方法——OLE自动化返回字符串 126
8.6.2 AnsiToOem方法——ANSI转换为OEM字符集 127
8.6.3 Collate方法——比较字符串 127
8.6.4 CollateNoCase方法——不区分大/小写比较字符串 127
8.6.5 Compare方法——比较字符串 128
8.6.6 CompareNoCase方法——不区分大/小写比较字符串 128
8.6.7 CString构造函数——构造CString类对象 129
8.6.8 Delete方法——删除一个或多个字符 130
8.6.9 Empty方法——设置空字符串 130
8.6.10 Find方法——搜索第一个匹配字符 131
8.6.11 FindOneOf方法——查找相匹配第一个字符 132
8.6.12 Format方法——将格式化数据写入字符串中 132
8.6.13 FreeExtra方法——释放额外的内存 133
8.6.14 GetAt方法——获得由索引号指定的单个字符 133
8.6.15 GetBuffer方法——获得指向字符缓冲区的指针 133
8.6.16 GetBufferSetLength方法——获得字符缓冲区指针 134
8.6.17 GetLength方法——获取字符串的字节数 134
8.6.18 Insert方法——插入单个字符或子字符串 134
8.6.19 IsEmpty方法——判断字符串是否为空 135
8.6.20 Left方法——提取最前面的字符 135
8.6.21 LoadString方法——读取Windows字符串资源 135
8.6.22 LockBuffer方法——为缓冲区内字符串加锁 136
8.6.23 MakeLower方法——将字母全部转换成小写字母 136
8.6.24 MakeReverse方法——字符倒序排列 136
8.6.25 MakeUpper方法——将字母全部转换成大写字母 137
8.6.26 Mid方法——截取一个字符串 137
8.6.27 OemToAnsi方法——将OEM转换为ANSI字符集 137
8.6.28 ReleaseBuffer方法——结束对缓冲区的使用 137
8.6.29 Remove方法——从字符串中移走指定的字符 138
8.6.30 Replace方法——替换字符串 139
8.6.31 ReverseFind方法——反向查找字符 140
8.6.32 Right方法——从字符串末尾提取字符 140
8.6.33 SetAt方法——向指定位置重写字符 140
8.6.34 SpanExcluding方法——截取字符串 141
8.6.35 SpanIncluding方法——截取字符串 141
8.6.36 TrimLeft方法——删除换行符、空格和tab 142
8.6.37 TrimRight方法——删除一个或多个字符 142
8.6.38 UnlockBuffer方法——解锁缓冲区 143
第9章 基类 144
9.1 CObject类——MFC类库主要基类 144
9.1.1 AssertValid方法——验证对象的完整性 144
9.1.2 Dump方法——输出诊断信息 145
9.1.3 GetRuntimeClass方法——获取运行时类信息 145
9.1.4 IsKindOf方法——判断对象所属类 146
9.1.5 IsSerializable方法——对象是否能够被序列化 147
9.1.6 Serialize方法——向CArchive对象写入对象信息 147
9.2 CCmdTarget类——MFC消息映射类的基类 148
9.2.1 BeginWaitCursor方法——使鼠标指针呈现沙漏状 148
9.2.2 EnableAutomation方法——对象设置OLE自动功能 149
9.2.3 EndWaitCursor方法——恢复鼠标指针的形状 149
9.2.4 FromIDispatch方法——获取与IDispatch相关的对象指针 149
9.2.5 GetIDispatch方法——获取对象关联的IDispatch接口指针 150
9.2.6 OnCmdMsg方法——分派并处理命令消息 150
9.2.7 OnFinalRelease方法——释放Ole引用对象 151
9.2.8 RestoreWaitCursor方法——重新设置鼠标指针为沙漏状 151
9.3 CWnd类——MFC中窗口类的基类 151
9.3.1 Attach方法——附加窗口句柄到CWnd对象上 151
9.3.2 CenterWindow方法——居中窗口 152
9.3.3 ChildWindowFromPoint方法——在窗口的指定位置获取子窗口 152
9.3.4 ClientToScreen方法——将客户区域坐标转换为屏幕区域坐标 153
9.3.5 CreateEx方法——使用扩展风格创建窗口 153
9.3.6 DeleteTempMap方法——删除临时的CWnd对象 154
9.3.7 DestroyWindow方法——销毁窗口 154
9.3.8 Detach方法——分离Windows窗口句柄 155
9.3.9 EnableToolTips方法——启动或禁止窗口的工具提示 155
9.3.10 EnableWindow方法——设置窗口是否可用 156
9.3.11 FindWindow方法——根据类名或窗口标题查找窗口 156
9.3.12 FromHandle方法——根据窗口句柄获取窗口指针 157
9.3.13 FromHandlePermanent方法——根据窗口句柄获取窗口指针 157
9.3.14 GetActiveWindow方法——获取当前活动窗口 157
9.3.15 GetClientRect方法——获取窗口的客户区域 158
9.3.16 GetDC方法——获取与窗口关联的设备上下文指针 159
9.3.17 GetDesktopWindow方法——获取系统桌面窗口 159
9.3.18 GetDlgCtrlID方法——获取控件ID 160
9.3.19 GetDlgItem方法——根据控件ID获取一个窗口指针 160
9.3.20 GetDlgItemInt方法——转换控件文本为一个整数值 161
9.3.21 GetDlgItemText方法——根据控件ID获取控件文本信息 161
9.3.22 GetExStyle方法——获取窗口的扩展风格 162
9.3.23 GetFocus方法——获取当前获得输入焦点的窗口对象 162
9.3.24 GetFont方法——获取当前窗口的字体 163
9.3.25 GetMenu方法——获取窗口关联的菜单指针 163
9.3.26 GetNextWindow方法——获取窗口管理器列表中的上一个或下一个窗口 163
9.3.27 GetOwner方法——确定滚动条可以滚动的范围 164
9.3.28 GetParent方法——获取当前窗口的父窗口 164
9.3.29 GetScrollInfo方法——获取窗口的滚动条信息 165
9.3.30 GetScrollLimit方法——获取滚动条的最大滚动范围 165
9.3.31 GetScrollPos方法——获取滚动条中当前滚动块的位置 165
9.3.32 GetScrollRange方法——确定滚动条可滚动的范围 166
9.3.33 GetStyle方法——获取窗口的普通风格 166
9.3.34 GetTopWindow方法——获取对话框中顶层的子窗口 166
9.3.35 GetUpdateRect方法——获取窗口最小封闭的更新区域 167
9.3.36 GetWindow方法——获取与窗口有一定关系的其他窗口 167
9.3.37 GetWindowDC方法——返回整个窗口的设备上下文 168
9.3.38 GetWindowRect方法——获取窗口对象的整个窗口区域 168
9.3.39 GetWindowText方法——获取窗口的标题或文本信息 169
9.3.40 Invalidate方法——更新整个窗口的客户区域 169
9.3.41 InvalidateRect方法——更新窗口的某一个区域 170
9.3.42 InvalidateRgn方法——更新窗口的某一个选区 170
9.3.43 IsChild方法——判断某一个窗口是否是一个子窗口 170
9.3.44 IsWindowEnabled方法——判断对话框是否可用 171
9.3.45 IsWindowVisible方法——判断窗口是否可见 171
9.3.46 KillTimer方法——结束计时器 171
9.3.47 LockWindowUpdate方法——锁定一个窗口 172
9.3.48 MapWindowPoints方法——将某个窗口的区域坐标转换为另一个窗口的区域坐标 172
9.3.49 MessageBox方法——显示一个消息对话框 172
9.3.50 ModifyStyle方法——修改窗口的普通风格 173
9.3.51 ModifyStyleEx方法——修改窗口的扩展风格 173
9.3.52 MoveWindow方法——移动窗口到指定的位置 174
9.3.53 OnActivate方法——在窗口对象激活或失去激活状态时触发 175
9.3.54 OnClose方法——在对话框关闭时由框架调用 175
9.3.55 OnCreate方法——在窗口被创建时由框架调用 176
9.3.56 OnCtlColor方法——在子控件即将被绘制时由框架自动调用 176
9.3.57 OnDestroy方法——在窗口即将被释放时由框架调用 177
9.3.58 OnEraseBkgnd方法——在窗口的背景需要擦除时由框架调用 178
9.3.59 OnHScroll方法——在用户单击窗口的水平滚动条时由框架调用 178
9.3.60 OnKeyDown方法——在键盘的非系统键按下时由框架调用 180
9.3.61 OnKeyUp方法——在用户释放非功能按键时由框架调用 180
9.3.62 OnKillFocus方法——在用户失去焦点时由框架调用 180
9.3.63 OnLButtonDblClk方法——在用户双击鼠标左键时由框架调用 181
9.3.64 OnLButtonDown方法——在用户按下鼠标左键时由框架调用 181
9.3.65 OnLButtonUp方法——在用户释放按下的鼠标左键时由框架调用 182
9.3.66 OnMouseMove方法——在鼠标指针移动时由框架调用 182
9.3.67 OnMouseWheel方法——在鼠标滚轮滚动时由框架调用 182
9.3.68 OnMove方法——在窗口被移动后由框架调用 183
9.3.69 OnNcLButtonDblClk方法——在窗口的非客户区域双击鼠标左键时由框架调用 183
9.3.70 OnNcLButtonDown方法——在窗口的非客户区域单击鼠标左键时由框架调用 184
9.3.71 OnNcLButtonUp方法——在窗口的非客户区域释放鼠标左键时由框架调用 185
9.3.72 OnPaint方法——在窗口需要绘制时由框架调用 185
9.3.73 OnSetFocus方法——在窗口获得输入焦点时由框架调用 186
9.3.74 OnSize方法——在窗口大小改变后由框架调用 186
9.3.75 OnSizing方法——在窗口大小正在改变时由框架调用 187
9.3.76 OnTimer方法——在用户调用SetTimer方法后由框架根据指定的时间间隔调用 187
9.3.77 OnVScroll方法——在用户触发窗口的垂直滚动消息时由框架调用 188
9.3.78 OnWindowPosChanged方法——在窗口大小、位置或Z轴顺序改变时由框架调用 189
9.3.79 OnWindowPosChanging方法——在窗口大小、位置或Z轴顺序即将改变时由框架调用 189
9.3.80 OnWndMsg方法——被窗口过程WindowProc或消息映射调用 190
9.3.81 PostMessage方法——传递一个窗口消息到线程的消息队列中 190
9.3.82 PreCreateWindow方法——在窗口创建之前设置窗口风格信息 190
9.3.83 PreSubclassWindow方法——在窗口被子类化之前由框架调用 191
9.3.84 PreTranslateMessage方法——在窗口消息被分派到窗口过程之前由框架调用 191
9.3.85 RedrawWindow方法——更新窗口指定的客户区域 191
9.3.86 ReleaseDC方法——释放窗口的设备上下文 192
9.3.87 RepositionBars方法——重新设置窗口客户区域中控制条的位置 193
9.3.88 ScreenToClient方法——将屏幕坐标转换为窗口的客户坐标 194
9.3.89 ScrollWindow方法——滚动窗口 194
9.3.90 SendDlgItemMessage方法——向控件发送一个消息 195
9.3.91 SendMessage方法——向窗口的窗口过程发送消息 195
9.3.92 SetCapture方法——设置鼠标捕捉 195
9.3.93 SetDlgCtrlID方法——设置窗口控件的控件ID 196
9.3.94 SetDlgItemInt方法——设置对话框中指定控件的文本整数值 196
9.3.95 SetDlgItemText方法——设置对话框中指定控件的字符串文本 197
9.3.96 SetFocus方法——为窗口设置焦点 197
9.3.97 SetFont方法——设置对话框的字体 197
9.3.98 SetIcon方法——设置对话框显示的图标 198
9.3.99 SetMenu方法——设置对话框显示的菜单 198
9.3.100 SetParent方法——设置窗口的父窗口 198
9.3.101 SetScrollPos方法——设置滚动条的滚动位置 199
9.3.102 SetScrollRange方法——设置滚动条的滚动范围 199
9.3.103 SetTimer方法——开启一个计时器 200
9.3.104 SetWindowPos方法——设置窗口的大小、位置和Z轴顺序 200
9.3.105 SetWindowRgn方法——设置窗口的显示区域 201
9.3.106 SetWindowText方法——设置窗口标题或文本 203
9.3.107 ShowScrollBar方法——显示或隐藏窗口滚动条 203
9.3.108 ShowWindow方法——设置窗口的显示状态 204
9.3.109 SubclassDlgItem方法——动态子类化一个窗口控件 204
9.3.110 UnlockWindowUpdate方法——解除LockWindowUpdate方法对窗口锁定更新 205
9.3.111 UpdateData方法——进行对话框数据交换 205
9.3.112 UpdateWindow方法——通过发送WM_PAINT消息来更新窗口 205
9.3.113 WindowFromPoint方法——根据坐标点返回一个窗口对象 205
第四篇 标准控件类
第10章 文档、框架和视图类 208
10.1 CDocument类——文档类 208
10.1.1 AddView方法——附加一个视图对象到文档中 208
10.1.2 CanCloseFrame方法——在显示文档的框架窗口被关闭前由框架调用 208
10.1.3 DeleteContents方法——删除文档中的数据 209
10.1.4 GetDocTemplate方法——获取一个文档模板对象 209
10.1.5 GetFirstViewPosition方法——从视图列表中获取第一个视图对象的位置 210
10.1.6 GetNextView方法——遍历文档对象中的视图列表 210
10.1.7 GetPathName方法——获取文档路径 211
10.1.8 IsModified方法——判断文档自最后一次保存后是否被修改过 211
10.1.9 OnChangedViewList方法——在文档对象中的视图列表有变动时调用 211
10.1.10 OnCloseDocument方法——在文档被关闭时由框架调用 212
10.1.11 OnNewDocument方法——清空文档对象的内容 212
10.1.12 OnOpenDocument方法——打开一个文档时清空原有文档内容 213
10.1.13 OnSaveDocument方法——在用户保存文档时将数据写入文件中 213
10.1.14 PreCloseFrame方法——在框架对象被销毁前调用 213
10.1.15 RemoveView方法——从文档对象中分离关联的视图对象 214
10.1.16 SaveModified方法——提示用户是否保存对文档的修改 214
10.1.17 SetModifiedFlag方法——标记文档已被修改 214
10.1.18 SetPathName方法——为文档的磁盘文件指定全限定路径 215
10.2 CFrameWnd类——框架类 215
10.2.1 ActivateFrame方法——还原或激活一个框架窗口 215
10.2.2 CreateView方法——在框架窗口内创建一个视图窗口 216
10.2.3 DockControlBar方法——使一个控制条拖入到框架窗口中 216
10.2.4 EnableDocking方法——使控制条能够被拖入 217
10.2.5 FloatControlBar方法——使控制条处于浮动状态 217
10.2.6 GetActiveDocument方法——获得关联当前活动视图窗口的文档对象 218
10.2.7 GetActiveFrame方法——获得一个活动的框架窗口对象 218
10.2.8 GetActiveView方法——获取关联框架窗口的活动视图窗口 219
10.2.9 GetControlBar方法——根据控制条ID获取一个控制条控件 219
10.2.10 GetMessageBar方法——获取一个状态栏窗口对象指针 219
10.2.11 GetMessageString方法——从资源文件中根据字符串ID加载一个字符串 220
10.2.12 IsTracking方法——确定当前窗口中的分隔条是否正在被移动 220
10.2.13 LoadFrame方法——根据资源信息创建一个框架窗口 220
10.2.14 OnCreateClient方法——创建框架对象关联的视图窗口 221
10.2.15 SetActiveView方法——设置一个活动的视图窗口 222
10.2.16 SetMessageText方法——设置状态栏中ID为0的方格字符串文本 222
10.2.17 ShowControlBar方法——显示或隐藏控制条 222
10.3 CView类——视图类 223
10.3.1 GetDocument方法——获取视图窗口关联的文档对象 223
10.3.2 OnActivateFrame方法——在包含当前视图的框架窗口激活或失去激活时调用 223
10.3.3 OnBeginPrinting方法——在打印或打印预览任务开始之前由框架调用 224
10.3.4 OnDragEnter方法——在鼠标指针首次拖入到目标窗口的非滚动区域时由框架调用 224
10.3.5 OnDragOver方法——鼠标指针在目标窗口中移动时由框架调用 226
10.3.6 OnDraw方法——设置视图窗口的背景位图 227
10.3.7 OnDrop方法——在用户释放拖动的对象到目的窗口中时由框架调用 227
10.3.8 OnEndPrinting方法——在文档的内容被打印或预览后由框架调用 228
10.3.9 OnEndPrintPreview方法——在用户退出打印预览模式时由框架调用 229
10.3.10 OnPrepareDC方法——在OnDraw方法和OnPrint方法调用之前调用 229
10.3.11 OnPrint方法——在打印文档时由框架调用 230
10.4 CScrollView类——滚动视图类 230
10.4.1 FillOutsideRect方法——填充视图窗口滚动区域之外的区域 230
10.4.2 GetDeviceScrollPosition方法——获取滚动条的滚动位置 231
10.4.3 GetDeviceScrollSizes方法——获取当前的映射模式、滚动区域、每页、每行的滚动大小等信息 231
10.4.4 GetScrollPosition方法——返回当前滚动条的滚动位置 232
10.4.5 GetTotalSize方法——返回视图窗口滚动区域的大小 232
10.4.6 ResizeParentToFit方法——调整父窗口的大小 233
10.4.7 ScrollToPosition方法——滚动窗口到指定的位置 234
10.4.8 SetScrollSizes方法——设置视图窗口的滚动区域范围 234
10.5 CEditView类——文本视图类 234
10.5.1 FindText方法——查找视图编辑窗口中的文本 235
10.5.2 GetBufferLength方法——获取编辑框中字符缓冲区的大小 235
10.5.3 GetEditCtrl方法——获取视图编辑窗口关联的编辑框控件 235
10.5.4 GetSelectedText方法——获取编辑窗口中选中文本的内容 236
10.5.5 OnFindNext方法——在用户查找文本时执行 236
10.5.6 OnReplaceAll方法——当用户在对话框中单击替换所有按钮时调用 236
10.5.7 OnReplaceSel方法——当用户在标准替换对话框中单击替换按钮时调用 237
10.5.8 PrintInsideRect方法——打印指定区域的文本 237
10.6 CRichEditView类——多功能文本视图类 238
10.6.1 AdjustDialogPosition方法——调整某个对话框的位置 238
10.6.2 CanPaste方法——判断剪贴板中包含的信息能够粘贴到视图窗口中 239
10.6.3 FindTextSimple方法——查找文本 239
10.6.4 GetCharFormatSelection方法——获取当前选中内容的字符格式属性 240
10.6.5 GetMargins方法——获取当前的打印边距 240
10.6.6 GetPageRect方法——获取在打印中使用的页面范围 240
10.6.7 GetPaperSize方法——获取打印纸张的大小 240
10.6.8 GetPrintRect方法——获取打印纸可打印区域 241
10.6.9 GetPrintWidth方法——获取打印区域的宽度 241
10.6.10 GetRichEditCtrl方法——获取与视图窗口关联的CRichEditCtrl控件 241
10.6.11 GetTextLength方法——获取视图窗口所有文本的长度 241
10.6.12 OnCharEffect方法——改变当前文字效果 242
10.6.13 OnParaAlign方法——改变选中文本的对齐方法 242
10.6.14 PrintInsideRect方法——打印指定区域的文本 242
10.6.15 SetCharFormat方法——设置新文本的字符属性 243
10.6.16 SetMargins方法——设置视图窗口的打印边距 243
10.6.17 SetPaperSize方法——设置新的打印纸大小 243
10.6.18 SetParaFormat方法——设置当前选中的段落格式属性 244
10.7 CHtmlView类——超文本视图类 244
10.7.1 ExecWB方法——在Web浏览器中执行一个命令 244
10.7.2 GetAddressBar方法——确定IE浏览器中的地址栏是否可见 245
10.7.3 GetFullName方法——获取当前IE浏览器显示的文件全路径 245
10.7.4 GetLocationName方法——获取当前浏览器中显示的资源名称 246
10.7.5 GetLocationURL方法——获取浏览器控件中显示的URL 246
10.7.6 GetVisible方法——确定浏览器控件所包含的对象是否可见 246
10.7.7 GoBack方法——回退浏览的页面 247
10.7.8 GoForward方法——在历史记录列表中显示下一个浏览的页面 247
10.7.9 GoHome方法——将页面定位到首页 247
10.7.10 GoSearch方法——定位到查找页 247
10.7.11 LoadFromResource方法——从资源文件中加载页面 248
10.7.12 Navigate方法——在视图窗口中显示指定的页面 248
10.7.13 Navigate2方法——在视图窗口中显示指定的页面 249
10.7.14 Refresh方法——刷新页面 249
10.7.15 SetAddressBar方法——显示或隐藏浏览器中的地址栏 249
10.7.16 Stop方法——停止当前的操作 249
10.8 CSplitterWnd类——窗口分隔类 250
10.8.1 ActivateNext方法——执行Next Pane或Previous Pane命令 250
10.8.2 CanActivateNext方法——检查Next Pane和Previous Pane命令当前是否有效 250
10.8.3 Create方法——创建一个动态分隔器窗口 250
10.8.4 CreateScrollBarCtrl方法——创建一个共享的滚动条控件 251
10.8.5 CreateStatic方法——创建静态分割的窗体 252
10.8.6 CreateView方法——创建子视图 253
10.8.7 CSplitterWnd方法——构造CSplitterWnd对象 254
10.8.8 DeleteColumn方法——删除一个列 254
10.8.9 DeleteRow方法——删除行 254
10.8.10 DeleteView方法——删除视图 254
10.8.11 DoKeyboardSplit方法——键盘分隔 255
10.8.12 DoScroll方法——执行分隔窗口的同步滚动 255
10.8.13 DoScrollBy方法——将分隔窗口滚动指定的像素数 256
10.8.14 GetActivePane方法——获得一个分隔器窗口中的活动窗格 256
10.8.15 GetColumnCount方法——获得分隔器中的列数 256
10.8.16 GetColumnInfo方法——获取指定列的信息 257
10.8.17 GetPane方法——根据指定行、列返回窗格指针 257
10.8.18 GetRowCount方法——获得分隔器的行数 257
10.8.19 GetRowInfo方法——获得指定行的信息 257
10.8.20 GetScrollStyle方法——获得分隔器窗口的共享滚动条风格 258
10.8.21 IdFromRowCol方法——获取指定行和列处窗格的子窗口ID 258
10.8.22 IsChildPane方法——判断pWnd是否是分隔器窗口的子窗口 258
10.8.23 OnDrawSplitter方法——绘制分隔器窗口的图像 259
10.8.24 SetActivePane方法——设置一个活动窗格 259
10.8.25 SetColumnInfo方法——设置指定列信息 259
10.8.26 SetRowInfo方法——设置指定行信息 260
10.8.27 SetScrollStyle方法——为分隔器窗口的共享滚动条指定新的风格 260
第11章 控制栏类 261
11.1 CControlBar类——控制栏基类 261
11.1.1 CalcDynamicLayout方法——计算动态控制栏的维数 261
11.1.2 CalcFixedLayout方法——计算控制栏的水平大小 262
11.1.3 GetBarStyle方法——获取控制栏风格 262
11.1.4 GetBorders方法——获取控制栏边框值 262
11.1.5 GetCount方法——获取项的个数 262
11.1.6 IsFloating方法——是否为浮动状态 263
11.1.7 SetBarStyle方法——设置控制栏风格 263
11.1.8 SetBorders方法——设置控制栏边框值 264
11.2 CToolBar类——工具栏类 264
11.2.1 CommandToIndex方法——通过命令ID返回索引 264
11.2.2 Create方法——创建窗口 264
11.2.3 GetButtonInfo方法——获取按钮信息 265
11.2.4 GetButtonText方法——获取按钮文本 266
11.2.5 GetItemID方法——获取指定索引下的命令ID 266
11.2.6 GetToolBarCtrl方法——获取工具条控件 266
11.2.7 LoadBitmap方法——载入位图 267
11.2.8 LoadToolBar方法——载入工具栏资源 268
11.2.9 SetButtonInfo方法——设置按钮信息 269
11.2.10 SetButtons方法——设置所有按钮的命令ID 270
11.2.11 SetButtonText方法——设置按钮的文本 270
11.2.12 SetHeight方法——设置工具栏高度 271
11.2.13 SetSizes方法——设置工具栏大小 272
11.3 CStatusBar类——状态栏类 272
11.3.1 Create方法——创建窗口 272
11.3.2 GetPaneInfo方法——获取指定窗格信息 273
11.3.3 GetPaneStyle方法——获取状态栏风格 274
11.3.4 GetPaneText方法——获取指定窗格的文本 274
11.3.5 GetStatusBarCtrl方法——获取状态栏控件 274
11.3.6 SetIndicators方法——设置所有窗格文本 274
11.3.7 SetPaneInfo方法——设置指定窗格信息 275
11.3.8 SetPaneStyle方法——设置状态栏风格 275
11.4 CReBarCtrl类——ReBar控件类 276
11.4.1 BeginDrag方法——开始拖放 276
11.4.2 DeleteBand方法——删除指定索引下的带 276
11.4.3 GetBandBorders方法——获取指定带的区域 276
11.4.4 GetBandCount方法——获取带的个数 277
11.4.5 GetBandInfo方法——获取带的信息 277
11.4.6 GetBarHeight方法——获取ReBar控件高度 277
11.4.7 GetBarInfo方法——获取ReBar控件信息 277
11.4.8 GetRect方法——获取ReBar控件矩形区域 278
11.4.9 GetRowCount方法——获取ReBar控件带所占行数 278
11.4.10 GetRowHeight方法——获取ReBar控件中指定行的高度 278
11.4.11 InsertBand方法——向ReBar控件中插入新带 278
11.4.12 MaximizeBand方法——将ReBar控件中一个带调整到理想或最大尺寸 279
11.4.13 MinimizeBand方法——将ReBar控件中一个带调整到理想或最小尺寸 279
11.4.14 MoveBand方法——将一个带从一个索引移动到另一个索引 279
11.4.15 SetBandInfo方法——设置ReBar控件中已存在带的特征 280
11.4.16 ShowBand方法——显示或隐藏ReBar控件中的给定带 280
11.5 CMenu类——菜单类 280
11.5.1 AppendMenu方法——添加新菜单 281
11.5.2 CheckMenuItem方法——添加或删除检测标记 282
11.5.3 CheckMenuRadioItem方法——添加或删除单选标记 282
11.5.4 CreateMenu方法——创建菜单 283
11.5.5 CreatePopupMenu方法——创建弹出式菜单 283
11.5.6 DestroyMenu方法——释放菜单 283
11.5.7 DrawItem方法——绘制菜单项 284
11.5.8 EnableMenuItem方法——控制菜单项是否可用 284
11.5.9 GetMenuItemCount方法——获取菜单项的数量 284
11.5.10 GetMenuItemID方法——通过菜单项位置获取ID 285
11.5.11 GetMenuItemInfo方法——获取指定菜单项信息 285
11.5.12 GetMenuState方法——获取菜单项状态 285
11.5.13 GetMenuString方法——获取菜单项文本 286
11.5.14 GetSubMenu方法——获取子菜单项 286
11.5.15 InsertMenu方法——插入菜单项 286
11.5.16 LoadMenu方法——载入菜单资源 288
11.5.17 LoadMenuIndirect方法——从菜单模板中装载菜单 288
11.5.18 MeasureItem方法——指定菜单维度 288
11.5.19 ModifyMenu方法——修改菜单项信息 289
11.5.20 RemoveMenu方法——移除菜单项 290
11.5.21 SetMenuItemBitmaps方法——设置菜单项显示的位图 290
11.6 CToolBarCtrl类——工具栏控件类 291
11.6.1 AddBitmap方法——添加位图 291
11.6.2 AddButtons方法——添加按钮 291
11.6.3 AddStrings方法——添加按钮文本 292
11.6.4 AutoSize方法——可自动调整大小 292
11.6.5 CheckButton方法——按钮是否选中 292
11.6.6 CommandToIndex方法——通过命令ID获取索引 292
11.6.7 DeleteButton方法——删除按钮 293
11.6.8 EnableButton方法——按钮是否可用 293
11.6.9 GetAnchorHighlight方法——是否可加亮显示 293
11.6.10 GetBitmapFlags方法——获取位图标志 293
11.6.11 GetButton方法——获取按钮信息 294
11.6.12 GetButtonCount方法——获取按钮数量 294
11.6.13 GetButtonSize方法——获取按钮大小 294
11.6.14 GetDisabledImageList方法——图像列表是否可用 294
11.6.15 GetHotImageList方法——获取热点图像列表 295
11.6.16 GetHotItem方法——获取热点项索引 295
11.6.17 GetMaxSize方法——获取可见项的最大尺寸 295
11.6.18 GetMaxTextRows方法——获取按钮文本的最大行数 295
11.6.19 GetRows方法——获取按钮显示的行数 296
11.6.20 HideButton方法——隐藏按钮 296
11.6.21 Indeterminate方法——设置按钮是否具有不确定状态 296
11.6.22 InsertButton方法——插入按钮 296
11.6.23 IsButtonChecked方法——按钮是否被选中 297
11.6.24 IsButtonEnabled方法——按钮是否可用 297
11.6.25 IsButtonHidden方法——按钮是否隐藏 297
11.6.26 IsButtonHighlighted方法——按钮是否处于加亮状态 298
11.6.27 IsButtonIndeterminate方法——按钮是否处于不确定状态 298
11.6.28 IsButtonPressed方法——按钮是否被按下 298
11.6.29 LoadImages方法——载入图像列表 298
11.6.30 MapAccelerator方法——映射加速键 299
11.6.31 MarkButton方法——设置按钮处于高亮状态 299
11.6.32 MoveButton方法——移动按钮 299
11.6.33 PressButton方法——设置按钮是否被按下 299
11.6.34 RestoreState方法——恢复工具栏状态 300
11.6.35 SaveState方法——保存工具栏状态 300
11.6.36 SetAnchorHighlight方法——工具栏是否加亮 300
11.6.37 SetBitmapSize方法——设置位图大小 301
11.6.38 SetButtonSize方法——设置按钮大小 301
11.6.39 SetButtonStructSize方法——设置按钮结构大小 301
11.6.40 SetButtonWidth方法——设置按钮宽度 301
11.6.41 SetCmdID方法——设置按钮命令ID 302
11.6.42 SetDisabledImageList方法——设置无效按钮图像列表 302
11.6.43 SetHotImageList方法——设置热点按钮图像列表 302
11.6.44 SetHotItem方法——设置热点项的索引 303
11.6.45 SetIndent方法——设置工具栏与第一个按钮的缩进 303
11.6.46 SetMaxTextRows方法——设置显示文本的最大行数 303
11.6.47 SetRows方法——设置工具栏的最大行数 303
11.6.48 SetStyle方法——设置工具栏控件风格 304
11.7 CStatusBarCtrl类——状态栏控件类 304
11.7.1 GetBorders方法——获取状态栏边界值 304
11.7.2 GetParts方法——获取窗格数量 304
11.7.3 IsSimple方法——是否处于简单模式 305
11.7.4 SetIcon方法——设置窗格图标 305
11.7.5 SetMinHeight方法——设置绘图区的最小高度 305
11.7.6 SetParts方法——设置窗格数量 306
11.7.7 SetSimple方法——设为简单模式 307
11.7.8 SetText方法——设置窗格文本 307
第12章 对话框类 309
12.1 CDialog类——对话框类 309
12.1.1 CreateIndirect方法——使用模板创建对话框 309
12.1.2 DoModal方法——模态显示对话框 310
12.1.3 EndDialog方法——关闭模态显示的对话框 311
12.1.4 GetDefID方法——获取默认按钮ID 311
12.1.5 GotoDlgCtrl方法——将焦点移动到指定的控件上 311
12.1.6 MapDialogRect方法——将矩形单位转换为屏幕单位 311
12.1.7 NextDlgCtrl方法——获取下一个具有焦点的控件 312
12.1.8 OnCancel方法——取消对话框调用返回IDCANCEL 312
12.1.9 OnInitDialog方法——初始化对话框 312
12.1.10 OnOK方法——取消对话框调用返回IDOK 313
12.1.11 OnSetFont方法——设置字体 313
12.1.12 PrevDlgCtrl方法——获取上一个具有焦点的控件 314
12.1.13 SetDefID方法——设置默认按钮 314
12.2 CFileDialog类——文件对话框类 314
12.2.1 CFileDialog方法——构造方法 314
12.2.2 GetFileExt方法——获取文件扩展名 315
12.2.3 GetFileName方法——获取文件名 315
12.2.4 GetFileTitle方法——获取文件标题 316
12.2.5 GetNextPathName方法——获取下一个文件路径 316
12.2.6 GetPathName方法——获取文件路径 316
12.2.7 GetReadOnlyPref方法——是否以只读方式打开 318
12.2.8 GetStartPosition方法——获取列表中第一个文件位置 318
12.3 CColorDialog类——颜色对话框类 319
12.3.1 CColorDialog方法——构造方法 319
12.3.2 GetColor方法——获取颜色 319
12.3.3 GetSavedCustomColors方法——获取自定义颜色 320
12.3.4 OnColorOK方法——颜色选择成功 321
12.3.5 SetCurrentColor方法——设置当前选择颜色 321
12.4 CFontDialog类——字体对话框类 321
12.4.1 CFontDialog方法——构造方法 321
12.4.2 GetColor方法——获取字体颜色 323
12.4.3 GetCurrentFont方法——获取当前字体 323
12.4.4 GetFaceName方法——获取字体名称 324
12.4.5 GetSize方法——获取字体大小 324
12.4.6 GetStyleName方法——获取字体风格名称 325
12.4.7 GetWeight方法——获取字体磅值 325
12.4.8 IsBold方法——是否加粗 325
12.4.9 IsItalic方法——是否为斜体 326
12.4.10 IsStrikeOut方法——是否具有删除线 326
12.4.11 IsUnderline方法——是否具有下划线 327
12.5 CFindReplaceDialog类——查找、替换对话框类 327
12.5.1 CFindReplaceDialog方法——构造方法 327
12.5.2 Create方法——创建窗口 328
12.5.3 FindNext方法——查找下一个字符串 328
12.5.4 GetFindString方法——获取查找字符串 328
12.5.5 GetNotifier方法——获取查找、替换对话框指针 329
12.5.6 GetReplaceString方法——获取替换的字符串 329
12.5.7 IsTerminating方法——是否终止查找、替换对话框 329
12.5.8 MatchCase方法——查找时是否区分大/小写 329
12.5.9 MatchWholeWord方法——查找时是否按词查找 330
12.5.10 ReplaceAll方法——替换所有字符串 330
12.5.11 ReplaceCurrent方法——替换当前选中字符串 330
12.5.12 SearchDown方法——向下查找 331
12.6 CPrintDialog类——打印对话框类 332
12.6.1 CPrintDialog方法——构造方法 332
12.6.2 CreatePrinterDC方法——创建打印机画布 333
12.6.3 GetCopies方法——获取打印份数 333
12.6.4 GetDefaults方法——获取打印机默认设置 333
12.6.5 GetDeviceName方法——获取当前打印机名称 334
12.6.6 GetDevMode方法——获取打印机环境信息 334
12.6.7 GetDriverName方法——获取打印机驱动程序名称 334
12.6.8 GetFromPage方法——获取打印起始页 334
12.6.9 GetToPage方法——获取打印结束页 335
12.6.10 GetPortName方法——获取打印机端口名 335
12.6.11 GetPrinterDC方法——获取打印机画布句柄 335
12.6.12 PrintAll方法——打印所有文档 335
12.6.13 PrintRange方法——是否选中区域打印 336
12.6.14 PrintSelection方法——打印选中区域 336
12.7 CPageSetupDialog类——页面设置对话框类 337
12.7.1 CPageSetupDialog方法——构造方法 337
12.7.2 CreatePrinterDC方法——创建打印机画布 338
12.7.3 GetMargins方法——获取页边距 338
12.7.4 GetPaperSize方法——获取纸张大小 339
12.7.5 OnDrawPage方法——绘制页 339
12.7.6 PreDrawPage方法——预处理绘制页 340
第13章 控件类 342
13.1 CStatic类——静态文本控件 342
13.1.1 GetCursor方法——获取鼠标指针句柄 342
13.1.2 GetEnhMetaFile方法——设置图元文件句柄 342
13.1.3 SetCursor方法——设置鼠标指针形状 342
13.1.4 SetEnhMetaFile方法——设置图元文件 343
13.2 CEdit类——编辑框控件 343
13.2.1 CanUndo方法——是否可执行撤销操作 343
13.2.2 CharFromPos方法——返回行号和字符索引 343
13.2.3 Clear方法——删除选中文本 344
13.2.4 Copy方法——复制文本 344
13.2.5 Cut方法——剪切文本 344
13.2.6 GetFirstVisibleLine方法——设置顶端行号 344
13.2.7 GetHandle方法——获取内存句柄 344
13.2.8 GetLimitText方法——获取录入最大长度 345
13.2.9 GetLine方法——返回指定行文本 345
13.2.10 GetLineCount方法——获取行数 345
13.2.11 GetMargins方法——获取左右边距 346
13.2.12 GetPasswordChar方法——返回密码字符 346
13.2.13 GetSel方法——获取开始和结束位置 346
13.2.14 LimitText方法——限定文本长度 347
13.2.15 LineFromChar方法——根据索引返回行号 347
13.2.16 LineIndex方法——返回某行字符索引 347
13.2.17 LineLength方法——返回行文本长度 347
13.2.18 LineScroll方法——滚动文本 348
13.2.19 Paste方法——粘贴文本 348
13.2.20 PosFromChar方法——返回字符左上角坐标 348
13.2.21 ReplaceSel方法——替换文本 348
13.2.22 SetHandle方法——设置内存句柄 349
13.2.23 SetLimitText方法——设置文本最大长度 349
13.2.24 SetMargins方法——设置左右边距 349
13.2.25 SetPasswordChar方法——设置字符密码 350
13.2.26 SetReadOnly方法——设置编辑框控件只读状态 350
13.2.27 SetSel方法——设置选中文本 350
13.2.28 SetTabStops方法——设置制表符占位 351
13.2.29 Undo方法——撤销最后一次操作 351
13.3 CRichEditCtrl类——带格式编辑框控件 351
13.3.1 DisplayBand方法——显示内容 351
13.3.2 FormatRange方法——格式化文本 352
13.3.3 GetCharPos方法——获取字符左上角位置 353
13.3.4 GetDefaultCharFormat方法——获取默认的字符格式化属性 353
13.3.5 GetIRichEditOle方法——访问IRichEditOle接口 353
13.3.6 GetParaFormat方法——获取段落格式化属性 353
13.3.7 GetSelectionCharFormat方法——获取字符格式化属性 354
13.3.8 GetSelectionType方法——确定选择类型 354
13.3.9 GetSelText方法——获得选择文本 354
13.3.10 HideSelection方法——改变选择可视性 355
13.3.11 PasteSpecial方法——粘贴数据 355
13.3.12 SetBackgroundColor方法——设置背景色 356
13.3.13 SetDefaultCharFormat方法——设置默认字符格式化属性 356
13.3.14 SetOLECallback方法——访问OLE相关资源信息 356
13.3.15 SetOptions方法——设置选项 357
13.3.16 SetParaFormat方法——设置段落格式化属性 357
13.3.17 SetSelectionCharFormat方法——设置字符格式化属性 357
13.3.18 SetTargetDevice方法——设置线宽 358
13.3.19 SetWordCharFormat方法——设置格式化属性 359
13.3.20 StreamIn方法——读取字符数 359
13.3.21 StreamOut方法——在输出流中写入数据 360
13.4 CSliderCtrl类——滑块控件 360
13.4.1 ClearSel方法——清除当前位置 360
13.4.2 ClearTics方法——移除刻度线 361
13.4.3 GetBuddy方法——获取伙伴窗口句柄 361
13.4.4 GetChannelRect方法——获取边界矩形 361
13.4.5 GetLineSize方法——获取行大小 361
13.4.6 GetNumTics方法——获取刻度线 362
13.4.7 GetPageSize方法——获取一页大小 362
13.4.8 GetPos方法——获取滑块位置 362
13.4.9 GetRange方法——获取最大、最小位置 362
13.4.10 GetRangeMax方法——获取最大位置 363
13.4.11 GetRangeMin方法——获取最小位置 363
13.4.12 GetSelection方法——获取开始和结束位置 363
13.4.13 GetThumbRect方法——获取边界矩形 363
13.4.14 GetTic方法——获取刻度线位置 364
13.4.15 GetTicArray方法——获取刻度线数组地址 364
13.4.16 GetTicPos方法——获取刻度线物理位置 364
13.4.17 GetToolTips方法——获取工具提示句柄 364
13.4.18 SetBuddy方法——分配伙伴窗口 365
13.4.19 SetLineSize方法——设置行大小 365
13.4.20 SetPageSize方法——设置页大小 365
13.4.21 SetPos方法——设置滑块位置 366
13.4.22 SetRange方法——设置范围 366
13.4.23 SetRangeMax方法——设置最大范围 366
13.4.24 SetRangeMin方法——设置最小范围 366
13.4.25 SetSelection方法——设置开始和结束位置 367
13.4.26 SetTic方法——设置刻度线位置 367
13.4.27 SetTicFreq方法——设置刻度线频率 367
13.4.28 SetTipSide方法——定位工具提示 367
13.4.29 SetToolTips方法——设置工具提示 368
13.4.30 VerifyPos方法——检验滑块位置 368
13.5 CProgressCtrl类——进度条控件 368
13.5.1 GetRange方法——获取范围 368
13.5.2 OffsetPos方法——增加位置 369
13.5.3 SetRange方法——设置范围 369
13.5.4 SetRange32方法——设置32位范围 369
13.5.5 SetStep方法——设置步长 369
13.5.6 StepIt方法——增加位置 370
13.6 CScrollBar类——滚动条控件 370
13.6.1 EnableScrollBar方法——设置箭头有效或无效 370
13.6.2 GetScrollInfo方法——获取滚动条信息 371
13.6.3 GetScrollLimit方法——获取最大滚动位置 371
13.6.4 GetScrollPos方法——获取位置 371
13.6.5 GetScrollRange方法——获取范围 372
13.6.6 SetScrollInfo方法——设置滚动条信息 372
13.6.7 SetScrollPos方法——设置位置 372
13.6.8 SetScrollRange方法——设置范围 373
13.6.9 ShowScrollBar方法——显示或隐藏滚动条 373
13.7 CButton类——按钮控件 374
13.7.1 GetButtonStyle方法——返回按钮风格 374
13.7.2 GetState方法——返回按钮状态 374
13.7.3 SetButtonStyle方法——改变按钮风格 374
13.7.4 SetState方法——设置按钮状态 375
13.8 CBitmapButton类——位图按钮控件 375
13.8.1 AutoLoad方法——加载并显示位图 375
13.8.2 LoadBitmaps方法——加载位图图像 375
13.8.3 SizeToContent方法——调整位图按钮大小 376
13.9 CSpinButtonCtrl类——微调按钮控件 377
13.9.1 Create方法——创建微调按钮 377
13.9.2 GetBase方法——获取基数值 377
13.9.3 GetBuddy方法——获取伙伴窗口指针 378
13.9.4 GetPos方法——获取位置 378
13.9.5 GetRange方法——获取范围 378
13.9.6 SetBase方法——设置基数值 378
13.9.7 SetBuddy方法——设置伙伴窗口 379
13.9.8 SetPos方法——设置位置 379
13.9.9 SetRange方法——设置范围 379
13.10 CListBox类——列表框控件 379
13.10.1 AddString方法——添加字符串 379
13.10.2 CompareItem方法——确定新项相对位置 380
13.10.3 DeleteItem方法——删除列表项 381
13.10.4 DeleteString方法——删除字符串 381
13.10.5 Dir方法——添加盘符到列表框 382
13.10.6 FindString方法——查找包含指定前缀的第一个字符串 382
13.10.7 FindStringExact方法——查找指定的字符串 382
13.10.8 GetCaretIndex方法——确定具有焦点矩形项的索引 383
13.10.9 GetCount方法——获取列表框中的项目数 383
13.10.10 GetCurSel方法——获取当前选项的索引 383
13.10.11 GetItemHeight方法——获取指定列表框中项的高度 384
13.10.12 GetItemRect方法——获取列表项区域 384
13.10.13 GetSelCount方法——获取当前选中的选项数 385
13.10.14 GetSelItems方法——将选择项的数目填入缓冲区 385
13.10.15 GetText方法——获取一个字符串 385
13.10.16 GetTextLen方法——返回列表框中某一项的长度 386
13.10.17 GetTopIndex方法——获取第一个可视项的索引 387
13.10.18 InsertString方法——插入一个字符串 387
13.10.19 ItemFromPoint方法——确定鼠标指针所在的项 388
13.10.20 ResetContent方法——删除列表框中所有字符串 388
13.10.21 SelectString方法——查找指定的字符串 388
13.10.22 SetCaretIndex方法——设置焦点矩形指定索引的项 389
13.10.23 SetColumnWidth方法——设置列的宽度 389
13.10.24 SetCurSel方法——设置当前选中的选项 389
13.10.25 SetItemHeight方法——设置列表框项的高度 389
13.10.26 SetTopIndex方法——保证某个列表框项可见 390
13.11 CCheckListBox类——复选列表框控件 390
13.11.1 Enable方法——设置是否允许存取复选列表框中的项 390
13.11.2 GetCheck方法——获得项的选中状态 390
13.11.3 GetCheckStyle方法——获得复选列表框的风格 392
13.11.4 IsEnabled方法——检测项是否可存取 392
13.11.5 SetCheck方法——设置项的复选框状态 392
13.11.6 SetCheckStyle方法——设置复选框的风格 393
13.12 CDragListBox类——拖曳列表框控件 393
13.12.1 BeginDrag方法——开始拖动 393
13.12.2 CancelDrag方法——取消拖动 394
13.12.3 Dragging方法——列表项拖动中 394
13.12.4 DrawInsert方法——绘制插入点 394
13.12.5 Dropped方法——拖动项落下 394
13.12.6 ItemFromPt方法——获得某处列表框项的索引 395
13.13 CComboBox类——组合框控件 395
13.13.1 GetDroppedControlRect方法——获取下拉列表框在屏幕上的坐标 395
13.13.2 GetDroppedState方法——判断下拉组合框的列表框是否可见 395
13.13.3 GetEditSel方法——获取被选中字符串的起止位置 396
13.13.4 GetLBText方法——获取列表框中指定位置的字符串 396
13.13.5 GetLBTextLen方法——返回列表框指定位置的字符串长度 396
13.13.6 LimitText方法——设置输入文本的最大长度 396
13.13.7 SetEditSel方法——使字符串处于选中状态 397
13.13.8 ShowDropDown方法——显示或隐藏列表框 397
13.14 CComboBoxEx类——扩展组合框控件 397
13.14.1 DeleteItem方法——删除组合框中的指定项 398
13.14.2 GetComboBoxCtrl方法——获得组合框控件的指针 398
13.14.3 GetEditCtrl方法——获得编辑框控件的指针 398
13.14.4 GetExtendedStyle方法——获得控件的扩展风格 398
13.14.5 GetImageList方法——获得图像列表的指针 398
13.14.6 GetItem方法——获取组合框中项信息 399
13.14.7 HasEditChanged方法——确定是否改变了输入内容 399
13.14.8 InsertItem方法——插入项 399
13.14.9 SetExtendedStyle方法——设置扩展风格 400
13.14.10 SetImageList方法——关联的图像列表 400
13.14.11 SetItem方法——设置组合框中指定项的信息 401
13.15 CImageList类——图像列表控件 402
13.15.1 Add方法——将图像或图标添加到图像列表中 402
13.15.2 Attach方法——附加图像列表 403
13.15.3 BeginDrag方法——开始拖动图像 403
13.15.4 Copy方法——复制图像列表 403
13.15.5 Create方法——创建图像列表 404
13.15.6 DeleteImageList方法——删除图像列表 405
13.15.7 DeleteTempMap方法——删除临时对象 405
13.15.8 Detach方法——分离图像列表 405
13.15.9 DragEnter方法——拖动中封锁窗口更新 406
13.15.10 DragLeave方法——解锁窗口 406
13.15.11 DragMove方法——移动正被拖动的图像 406
13.15.12 DragShowNolock方法——显示或隐藏图像 407
13.15.13 Draw方法——绘制图像列表中的图像 407
13.15.14 DrawIndirect方法——从图像列表中绘制图像 408
13.15.15 EndDrag方法——结束拖动操作 409
13.15.16 ExtractIcon方法——创建图标及其相关掩码 409
13.15.17 FromHandle方法——返回指向对象的指针 410
13.15.18 FromHandlePermanent方法——指定图像列表句柄 410
13.15.19 GetBkColor方法——获取图列表的当前背景色 410
13.15.20 GetDragImage方法——获得拖动的临时图像列表 410
13.15.21 GetImageCount方法——获取图像列表中的图像数 411
13.15.22 GetImageInfo方法——获取有关的图像信息 411
13.15.23 GetSafeHandle方法——获取m_hImageList数据成员 411
13.15.24 Remove方法——移走一个图像 411
13.15.25 Replace方法——替换图像列表中的图像 412
13.15.26 SetBkColor方法——设置图像列表的背景色 412
13.15.27 SetDragCursorImage方法——构造新的拖动图像 412
13.15.28 SetImageCount方法——重新设置图像数 413
13.16 CHeaderCtrl类——标头控件 413
13.16.1 Create方法——创建标头控件 413
13.16.2 CreateDragImage方法——获取图像列表指针 414
13.16.3 DeleteItem方法——删除一个项目 414
13.16.4 GetImageList方法——返回图像列表指针 415
13.16.5 GetItem方法——获取关于标头控件项目的信息 415
13.16.6 GetItemCount方法——获取项目个数 415
13.16.7 GetItemRect方法——获得项目区域 415
13.16.8 GetOrderArray方法——获得标头项目的显示顺序 416
13.16.9 InsertItem方法——插入指定索引的项目 416
13.16.10 Layout方法——获取指定矩形的大小和位置 416
13.16.11 OrderToIndex方法——获得项目索引的顺序 417
13.16.12 SetHotDivider方法——获得高亮显示的分隔符索引 417
13.16.13 SetImageList方法——关联图像列表 417
13.16.14 SetItem方法——设置标头控件中项目的信息 417
13.16.15 SetOrderArray方法——设置标头控件的显示顺序 418
13.17 CListCtrl类——列表视图控件 418
13.17.1 CreateDragImage方法——创建拖动图像列表 418
13.17.2 DeleteAllItems方法——删除所有视图项 418
13.17.3 DeleteColumn方法——从列表视图中删除一列 419
13.17.4 FindItem方法——查找视图项 419
13.17.5 GetBkImage方法——获得背景图像 419
13.17.6 GetColumnWidth方法——获取列的宽度 419
13.17.7 GetEditControl方法——获取编辑控件的句柄 420
13.17.8 GetExtendedStyle方法——获得扩展风格 420
13.17.9 GetFirstSelectedItemPosition方法——获取第一个选择项位置 420
13.17.10 GetImageList方法——获取图像列表的句柄 420
13.17.11 GetItemCount方法——获取列表视图中项目数量 421
13.17.12 GetItemPosition方法——获取某个项目的位置 421
13.17.13 GetItemRect方法——获取视图项的显示区域 421
13.17.14 GetItemText方法——获得视图项的文本 422
13.17.15 GetNextSelectedItem方法——获得下一个列表项 423
13.17.16 GetSelectedCount方法——获取被选择的项的数目 424
13.17.17 GetSelectionMark方法——获取选中的视图项索引 424
13.17.18 GetStringWidth方法——获取最小列宽 424
13.17.19 GetTextBkColor方法——获取文本的背景色 424
13.17.20 InsertColumn方法——向列表视图控件添加列 425
13.17.21 SetBkImage方法——设置列表视图控件的背景图像 425
13.17.22 SetColumnWidth方法——设置列的宽度 426
13.17.23 SetExtendedStyle方法——设置列表视图的扩展风格 426
13.17.24 SetImageList方法——设置列表视图控件关联的图像列表 426
13.17.25 SetItemCount方法——设置项目数 427
13.17.26 SetItemPosition方法——将某个项目放置在指定的位置 427
13.17.27 SetItemText方法——设置视图项的文本 427
13.17.28 SetSelectionMark方法——设置选择标记 428
13.17.29 SetTextBkColor方法——设置文本背景颜色 428
13.18 CTreeCtrl类——树控件 428
13.18.1 Expand方法——展开或收缩结点 428
13.18.2 GetChildItem方法——获得指定结点的子结点 429
13.18.3 GetDropHilightItem方法——获取一次拖放操作的目标 429
13.18.4 GetFirstVisibleItem方法——获得第一个可视结点 429
13.18.5 GetNextSiblingItem方法——获取下一个兄弟结点 430
13.18.6 GetNextVisibleItem方法——获得下一个可视结点 430
13.18.7 GetParentItem方法——获得所标识结点的父结点 430
13.18.8 GetPrevSiblingItem方法——获取上一个兄弟结点 431
13.18.9 GetPrevVisibleItem方法——获得上一个可视结点 431
13.18.10 GetRootItem方法——返回根结点 431
13.18.11 GetSelectedItem方法——获得树视图控件当前选中的结点 432
13.18.12 GetTextColor方法——获取控件的当前文本颜色 432
13.18.13 InsertItem方法——插入结点 432
13.18.14 ItemHasChildren方法——确定所标识的结点是否有子结点 433
13.18.15 SelectDropTarget方法——拖放操作目标的风格 433
13.18.16 SelectItem方法——选中给定的结点 433
13.18.17 SelectSetFirstVisible方法——使指定结点成为第一个可视结点 434
13.18.18 SetTextColor方法——设置控件的文本颜色 434
13.19 CToolTipCtrl类——工具提示控件 434
13.19.1 Activate方法——激活一个工具提示控件 434
13.19.2 AddTool方法——注册一个工具 435
13.19.3 DelTool方法——删除指定的工具 435
13.19.4 GetDelayTime方法——返回延迟时间 436
13.19.5 GetMaxTipWidth方法——返回一个工具提示窗口的最大宽度 436
13.19.6 GetTipBkColor方法——返回一个代表背景颜色的COLORREF值 436
13.19.7 GetTipTextColor方法——返回一个代表文本颜色的COLORREF值 436
13.19.8 GetToolCount方法——获取向工具提示控件注册的工具数目 437
13.19.9 GetToolInfo方法——获取工具的信息 437
13.19.10 RelayEvent方法——将鼠标消息传递给工具提示控件处理 437
13.19.11 SetDelayTime方法——设置延迟时间 438
13.19.12 SetMaxTipWidth方法——返回先前的最大提示宽度 438
13.19.13 SetTipBkColor方法——设置背景颜色 438
13.19.14 SetTipTextColor方法——设置文本颜色 438
13.19.15 SetToolInfo方法——设置工具信息 439
13.19.16 UpdateTipText方法——更新工具提示文本 439
13.20 CTabCtrl类——标签控件 439
13.20.1 GetCurFocus方法——获得具有焦点的标签索引 440
13.20.2 SetCurFocus方法——使某个标签获得焦点 440
13.20.3 SetItemSize方法——设置标签项的大小 440
13.20.4 SetMinTabWidth方法——设置标签的最小宽度 440
13.20.5 SetPadding方法——设置标签图标和周围空间数量 441
13.21 CDateTimeCtrl类——时间控件 441
13.21.1 GetMonthCalColor方法——获得指定月的颜色 441
13.21.2 GetMonthCalFont方法——获得字体 441
13.21.3 GetRange方法——获取时间范围 442
13.21.4 GetTime方法——获得当前时间 442
13.21.5 SetFormat方法——设置显示时间和日期的格式 442
13.21.6 SetMonthCalColor方法——设置指定月份的颜色 443
13.21.7 SetMonthCalFont方法——设置子控件的字体 443
13.21.8 SetRange方法——设置范围 443
13.21.9 SetTime方法——设置时间 444
13.22 CMonthCalCtrl类——月历控件 444
13.22.1 GetColor方法——获取月历控件指定区域的颜色 444
13.22.2 GetFirstDayOfWeek方法——获取月历显示的星期值 445
13.22.3 GetMaxSelCount方法——获取能够选择的日期最大值 445
13.22.4 GetMinReqRect方法——获取显示完整月的最小值 445
13.22.5 GetMonthRange方法——获取日期范围 445
13.22.6 GetSelRange方法——获取选定范围的有关信息 446
13.22.7 GetToday方法——获取当天日期信息 447
13.22.8 SetColor方法——设置指定区域颜色 447
13.22.9 SetDayState方法——设置要显示的日期 448
13.22.10 SetFirstDayOfWeek方法——设置星期值 448
13.22.11 SetMaxSelCount方法——日期值设置为最大 448
13.22.12 SetSelRange方法——设置为给定的日期范围 448
13.22.13 SetToday方法——设置月历控件的当天值 449
13.22.14 SizeMinReq方法——最小化显示一个月 449
13.23 CAnimateCtrl类——动画控件 450
13.23.1 Close方法——关闭动画 450
13.23.2 Create方法——创建动画控件 450
13.23.3 Open方法——打开一个AVI文件 451
13.23.4 Play方法——播放AVI动画 451
13.23.5 Seek方法——显示AVI动画中的指定帧 452
13.23.6 Stop方法——停止播放AVI动画 452
13.24 CHotKeyCtrl类——热键控件 452
13.24.1 GetHotKey方法——获取虚拟键代码和修正符标志 452
13.24.2 SetHotKey方法——设置热键 453
13.24.3 SetRules方法——定义无效组合和默认修正符组合 453
13.25 CIPAddressCtrl类——IP控件 454
13.25.1 ClearAddress方法——清除IP控件中的内容 454
13.25.2 GetAddress方法——获得IP控件中的IP地址 454
13.25.3 IsBlank方法——判断IP控件中的区域是否为空 454
13.25.4 SetAddress方法——设置IP控件中的IP地址 455
13.25.5 SetFieldFocus方法——设置指定字段 455
13.25.6 SetFieldRange方法——设置某个IP地址字段的范围 456
第14章 输出类 457
14.1 CDC类——设备上下文 457
14.1.1 AbortPath方法——关闭拒绝路径 457
14.1.2 AngleArc方法——绘制圆弧和线 457
14.1.3 Arc方法——绘制椭圆弧 458
14.1.4 ArcTo方法——画一段椭圆弧 459
14.1.5 BeginPath方法——开始绘制路径 460
14.1.6 BitBlt方法——复制位图到当前设备 460
14.1.7 Chord方法——绘制椭圆弧 463
14.1.8 CloseFigure方法——关闭一个打开的图表 464
14.1.9 CreateCompatibleDC方法——创建兼容的设备上下文 465
14.1.10 CreateDC方法——创建设备环境 465
14.1.11 CreateIC方法——创建信息上下文 466
14.1.12 DeleteDC方法——删除设备上下文 466
14.1.13 DPtoLP方法——将设备单位转换为逻辑单位 467
14.1.14 Draw3dRect方法——绘制三维矩形 467
14.1.15 DrawEdge方法——绘制边框 468
14.1.16 DrawFocusRect方法——绘制焦点矩形 469
14.1.17 DrawFrameControl方法——绘制控件 469
14.1.18 DrawIcon方法——绘制图标 470
14.1.19 DrawState方法——绘制状态图像 471
14.1.20 DrawText方法——绘制文本 472
14.1.21 Ellipse方法——绘制椭圆 474
14.1.22 EndDoc方法——结束打印 475
14.1.23 EndPage方法——开始打印新页 475
14.1.24 EndPath方法——结束绘制路径 476
14.1.25 EnumObjects方法——枚举画笔和画刷 476
14.1.26 ExtFloodFill方法——使用画刷填充区域 477
14.1.27 ExtTextOut方法——绘制文本 478
14.1.28 FillPath方法——填充路径 479
14.1.29 FillRect方法——填充矩形 479
14.1.30 FillRgn方法——填充区域 481
14.1.31 FillSolidRect方法——用实体画刷填充区域 481
14.1.32 FloodFill方法——用画刷填充区域 482
14.1.33 FrameRect方法——绘制矩形边框 482
14.1.34 FrameRgn方法——绘制区域边框 482
14.1.35 GetBkColor方法——获取背景色 483
14.1.36 GetBkMode方法——获取背景模式 483
14.1.37 GetBoundsRect方法——获取绑定矩形 483
14.1.38 GetBrushOrg方法——获取当前画刷的起点 484
14.1.39 GetCurrentBitmap方法——获取当前选择的位图 484
14.1.40 GetCurrentBrush方法——获取当前选择的画刷 484
14.1.41 GetCurrentFont方法——获取当前选择的字体 485
14.1.42 GetCurrentPalette方法——获取当前选择的色板 485
14.1.43 GetCurrentPen方法——获取当前选择的画笔 485
14.1.44 GetCurrentPosition方法——获取画笔的当前位置 486
14.1.45 GetDeviceCaps方法——获取设备信息 486
14.1.46 GetHalftoneBrush方法——获取半色调画刷 488
14.1.47 GetKerningPairs方法——获取选取的字体字符 488
14.1.48 GetMapMode方法——获取当前映射模式 488
14.1.49 GetOutlineTextMetrics方法——获取字体度量信息 489
14.1.50 GetOutputTabbedTextExtent方法——获取字符串的宽度和高度 489
14.1.51 GetOutputTextExtent方法——获取文本行的宽度和高度 490
14.1.52 GetPath方法——获取路径 490
14.1.53 GetPixel方法——获取指定点的RGB值 491
14.1.54 GetPolyFillMode方法——获取当前多边形填充模式 492
14.1.55 GetROP2方法——获取当前绘图模式 492
14.1.56 GetSafeHdc方法——获取设备上下文的句柄 492
14.1.57 GetStretchBltMode方法——获取缩放模式 493
14.1.58 GetTabbedTextExtent方法——获取字符串的宽度和高度 493
14.1.59 GetTextAlign方法——获取文本对齐标记 494
14.1.60 GetTextCharacterExtra方法——获取字符间距值 494
14.1.61 GetTextExtent方法——获取文本行的宽度和高度 495
14.1.62 GetViewportExt方法——获取视图大小 495
14.1.63 GetViewportOrg方法——获取视图原点 496
14.1.64 GetWindow方法——获取窗口 496
14.1.65 GetWindowExt方法——获取窗口大小 496
14.1.66 GetWindowOrg方法——获取窗口原点 497
14.1.67 GrayString方法——绘制灰显位图文本 497
14.1.68 InvertRect方法——反转矩形内容 498
14.1.69 InvertRgn方法——反转区域中的颜色 498
14.1.70 IsPrinting方法——是否正在打印 498
14.1.71 LineTo方法——从当前位置开始画线 499
14.1.72 LPtoDP方法——逻辑单位转换为设备单位 500
14.1.73 MoveTo方法——移动到画线的当前位置 501
14.1.74 OffsetClipRgn方法——移动剪切区域 501
14.1.75 OffsetViewportOrg方法——移动视图原点 502
14.1.76 OffsetWindowOrg方法——移动窗口原点 502
14.1.77 PaintRgn方法——绘制区域 503
14.1.78 Pie方法——绘制饼形图 503
14.1.79 PolyDraw方法——绘制一组线段 504
14.1.80 Polygon方法——绘制多边形 505
14.1.81 Polyline方法——画一组与指定点连接的线段 506
14.1.82 PolylineTo方法——画多条直线 506
14.1.83 PolyPolygon方法——绘制多个多边形 507
14.1.84 PolyPolyline方法——画多组相连线段 507
14.1.85 PtVisible方法——确定给定点是否在剪切区域内 508
14.1.86 RealizePalette方法——将逻辑调色板映射到系统调色板 508
14.1.87 Rectangle方法——绘制矩形 508
14.1.88 RectVisible方法——判断给定矩形的任一部分是否在剪切区内 509
14.1.89 ResetDC方法——更新设备上下文 510
14.1.90 RestoreDC方法——恢复设备上下文 510
14.1.91 RoundRect方法——绘制圆角矩形 511
14.1.92 SaveDC方法——保存设备上下文 512
14.1.93 ScaleWindowExt方法——修改窗口范围 513
14.1.94 SelectClipPath方法——合并新区域和剪切区域 513
14.1.95 SelectClipRgn方法——合并给定区域和剪切区域 514
14.1.96 SelectObject方法——选择对象 514
14.1.97 SelectPalette方法——选择调色板 515
14.1.98 SelectStockObject方法——选择Windows提供的GDI对象 515
14.1.99 SetAbortProc方法——设置打印终止的回调函数 516
14.1.100 SetBkColor方法——设置当前背景色 517
14.1.101 SetBkMode方法——设置背景模式 517
14.1.102 SetBoundsRect方法——设置外接矩形 518
14.1.103 SetBrushOrg方法——设置画刷原点 519
14.1.104 SetMapMode方法——设置当前映射模式 519
14.1.105 SetPixel方法——设置指定点像素值 520
14.1.106 SetPixelV方法——设置指定像素下最接近的颜色 520
14.1.107 SetPolyFillMode方法——设置多边形填充模式 521
14.1.108 SetROP2方法——设置当前绘图模式 521
14.1.109 SetStretchBltMode方法——设置当前位图拉伸模式 522
14.1.110 SetTextAlign方法——设置文本对齐方式 523
14.1.111 SetTextCharacterExtra方法——设置字符串中空格的数量 525
14.1.112 SetViewportExt方法——设置视区范围 525
14.1.113 SetViewportOrg方法——设置视区起点坐标 526
14.1.114 SetWindowExt方法——设置窗体范围 526
14.1.115 SetWindowOrg方法——设置窗体起点坐标 527
14.1.116 StartDoc方法——开始一项新的打印作业 527
14.1.117 StartPage方法——通告设备驱动程序开始一项新的打印作业 527
14.1.118 StretchBlt方法——缩放复制位图到设备上下文 528
14.1.119 StrokeAndFillPath方法——关闭路径并用画刷填充 530
14.1.120 StrokePath方法——使用当前笔绘制指定路径 531
14.1.121 TabbedTextOut方法——在指定制表位上输出字符串 532
14.1.122 TextOut方法——输出字符 533
14.1.123 WidenPath方法——重新定义当前路径为要画的区域 535
14.2 CPaintDC类——绘制设备上下文 535
14.3 CClientDC类——客户区设备上下文 535
14.4 CWindowDC类——窗口设备上下文 536
14.5 CMetaFileDC类——图元文件设备上下文 536
14.5.1 Close方法——关闭图元文件句柄 536
14.5.2 CloseEnhanced方法——关闭增强格式的图元文件句柄 537
14.5.3 CMetaFileDC方法——构造方法 537
14.5.4 CreateEnhanced方法——创建Windows增强格式的元文件设备上下文 537
第五篇 Visual C++高级应用第15章 图形工具类 540
15.1 CGdiObject类——图形对象类 540
15.1.1 CreateStockObject方法——获得GDI对象句柄 540
15.1.2 DeleteObject方法——删除GDI对象 541
15.1.3 GetObjectType方法——获得GDI对象的类型 541
15.1.4 GetSafeHandle方法——返回对象指针 541
15.2 CBrush类——画刷类 542
15.2.1 CreateBrushIndirect方法——通过LOGBRUSH结构创建画刷 542
15.2.2 CreateDIBPatternBrush方法——通过位图创建画刷 543
15.2.3 CreateHatchBrush方法——创建阴影画刷 544
15.2.4 CreatePatternBrush方法——通过颜色模板创建画刷 545
15.2.5 CreateSolidBrush方法——创建实体画刷 546
15.2.6 CreateSysColorBrush方法——通过颜色创建画刷 548
15.2.7 GetLogBrush方法——取得LOGBRUSH结构 548
15.3 CPen类——画笔类 549
15.3.1 CreatePen方法——动态创建画笔 549
15.3.2 CreatePenIndirect方法——用LOGPEN结构创建画笔 552
15.3.3 GetExtLogPen方法——获取EXTLOGPEN结构 552
15.3.4 GetLogPen方法——获取LOGPEN结构 553
15.4 CFont类——字体类 553
15.4.1 CreateFont方法——创建字体 554
15.4.2 CreateFontIndirect方法——创建由LOGFONT结构给出其特征的字体 555
15.4.3 CreatePointFont方法——用于指定高度和字体创建字体对象 558
15.4.4 CreatePointFontIndirect方法——创建字体 558
15.4.5 GetLogFont方法——获得LOGFONT结构 559
15.5 CBitmap类——位图类 559
15.5.1 CreateBitmap方法——创建位图 560
15.5.2 CreateBitmapIndirect方法——创建位图 560
15.5.3 CreateCompatibleBitmap方法——创建位图 560
15.5.4 CreateDiscardableBitmap方法——创建位图 561
15.5.5 GetBitmap方法——获取位图信息 561
15.5.6 LoadBitmap方法——加载位图资源 561
15.6 CRgn类——区域类 563
15.6.1 CombineRgn方法——两个区域的联合 563
15.6.2 CopyRgn方法——复制区域 564
15.6.3 CreateEllipticRgn方法——创建椭圆形区域 565
15.6.4 CreateEllipticRgnIndirect方法——创建椭圆形区域 565
15.6.5 CreateFromPath方法——通道中创建区域 566
15.6.6 CreatePolygonRgn方法——创建多边形区域 567
15.6.7 CreatePolyPolygonRgn方法——创建多边形区域 567
15.6.8 CreateRectRgn方法——创建矩形区域 568
15.6.9 CreateRectRgnIndirect方法——创建矩形区域 569
15.6.10 CreateRoundRectRgn方法——创建圆角矩形区域 569
15.6.11 PtInRegion方法——判断点是否在矩形内 569
15.6.12 RectInRegion方法——判断矩形是否在区域内 570
15.6.13 SetRectRgn方法——设置矩形区域 570
第16章 文件输入输出类 572
16.1 CFile类——文件类 572
16.1.1 CFile方法——构造文件类对象 572
16.1.2 Close方法——关闭CFile对象 573
16.1.3 GetFileName方法——获取文件名 573
16.1.4 GetFilePath方法——获取完整路径 574
16.1.5 GetFileTitle方法——获得文件标题 575
16.1.6 GetLength方法——获取文件长度 576
16.1.7 GetPosition方法——获取文件指针位置 576
16.1.8 GetStatus方法——获取文件属性 577
16.1.9 LockRange方法——锁定文件 578
16.1.10 Open方法——打开文件 579
16.1.11 Read方法——读取文件 580
16.1.12 ReadHuge方法——读取大文件 580
16.1.13 Remove方法——删除文件 581
16.1.14 Rename方法——重命名文件 581
16.1.15 Seek方法——定位文件 582
16.1.16 SeekToBegin方法——定位到文件开头 582
16.1.17 SeekToEnd方法——定位到文件结尾 583
16.1.18 SetFilePath方法——设置文件路径 584
16.1.19 SetLength方法——改变文件长度 584
16.1.20 SetStatus方法——设置文件属性 585
16.1.21 UnlockRange方法——解锁文件 585
16.1.22 Write方法——将数据写入文件 586
16.1.23 WriteHuge方法——将大数据写入文件 587
16.2 CStdioFile类——流式文件类 587
16.2.1 CStdioFile方法——构造CStdioFile对象 587
16.2.2 ReadString方法——读取字符串 588
16.2.3 WriteString方法——写入字符串 588
16.3 CMemFile类——驻留文件类 589
16.3.1 Attach方法——分配内存 589
16.3.2 Detach方法——获取内存块指针 589
16.3.3 CMemFile方法——创建内存文件 590
16.4 CSharedFile类——共享文件类 590
16.5 CFileFind类——文件查找类 591
16.5.1 FindFile方法——查找文件 591
16.5.2 FindNextFile方法——查找下一个文件 591
16.5.3 GetCreationTime方法——获得文件创建时间 592
16.5.4 GetLastAccessTime方法——获得最后访问时间 592
16.5.5 GetLastWriteTime方法——获得最后修改时间 593
16.5.6 GetRoot方法——获得所在文件夹路径 593
16.5.7 IsArchived方法——是否是文档文件 594
16.5.8 IsCompressed方法——是否有压缩属性 594
16.5.9 IsDirectory方法——是否是文件夹 594
16.5.10 IsDots方法——是否是“.”或“..” 595
16.5.11 IsHidden方法——是否有隐藏属性 595
16.5.12 IsNormal方法——是否是一般文件 595
16.5.13 IsReadOnly方法——是否有只读属性 596
16.5.14 IsSystem方法——是否有系统属性 596
16.5.15 IsTemporary方法——是否是临时文件 596
16.5.16 MatchesMask方法——设置要查找的文件属性 597
第17章 网络相关类 598
17.1 CAsyncSocket类——异步套接字类 598
17.1.1 Accept方法——接收一个套接字的连接 598
17.1.2 AsyncSelect方法——请求套接字的事件通知 599
17.1.3 Bind方法——绑定套接字 599
17.1.4 Close方法——关闭套接字 600
17.1.5 Connect方法——建立一个套接字连接 600
17.1.6 GetPeerName方法——获得套接字连接的IP地址 601
17.1.7 GetSockName方法——获取套接字的本地名称 602
17.1.8 GetSockOpt方法——检索套接字选项的值 602
17.1.9 Listen方法——监听套接字的连接请求 603
17.1.10 OnAccept方法——在套接字接收连接请求时触发 603
17.1.11 OnClose方法——套接字被关闭时触发 604
17.1.12 OnConnect方法——套接字被连接后触发 604
17.1.13 OnReceive方法——数据被接收时触发 604
17.1.14 OnSend方法——套接字发送数据时触发 605
17.1.15 Receive方法——从一个套接字上接收数据 606
17.1.16 ReceiveFrom方法——接收面向无连接传递的数据 606
17.1.17 Send方法——发送数据到连接的套接字上 607
17.1.18 SendTo方法——发送数据 608
17.1.19 SetSockOpt方法——设置套接字选项 609
17.1.20 ShutDown方法——断开数据的发送或接收 610
17.2 CSocket类——套接字类 610
17.2.1 CancelBlockingCall方法——取消阻塞模式 610
17.2.2 IsBlocking方法——是否处于阻塞状态 611
17.2.3 OnMessagePending方法——处理未解决的消息 611
17.3 CSocketFile类——套接字文件类 612
17.4 CFtpConnection类——FTP连接类 612
17.4.1 CFtpConnection方法——构造CFtpConnection对象 612
17.4.2 Close方法——关闭服务器上的连接 613
17.4.3 CreateDirectory方法——创建一个新的目录 614
17.4.4 GetCurrentDirectory方法——获得当前连接的FTP目录 614
17.4.5 GetCurrentDirectoryAsURL方法——获取作为URL当前连接的目录 614
17.4.6 GetFile方法——从FTP服务器上下载文件 615
17.4.7 OpenFile方法——在FTP服务器上打开文件 616
17.4.8 PutFile方法——向服务器上存放文件 616
17.4.9 Remove方法——从连接的服务器上移除文件 617
17.4.10 RemoveDirectory方法——从服务器上移除指定的目录 617
17.4.11 Rename方法——在服务器上重命名一个文件 617
17.4.12 SetCurrentDirectory方法——改变FTP服务器目录 618
17.5 CFtpFileFind类——FTP文件查找类 618
17.5.1 CFtpFileFind方法——构造CFtpFileFind对象 618
17.5.2 FindFile方法——在FTP服务器上查找文件 618
17.5.3 FindNextFile方法——在FTP服务器上查找下一个文件 619
17.5.4 GetFileURL方法——获得指定文件的URL 620
第18章 常用MFC宏 621
18.1 消息映射的声明和分界宏 621
18.1.1 BEGIN_MESSAGE_MAP宏——开始消息映射的定义 621
18.1.2 DECLARE_MESSAGE_MAP宏——使用消息映射 621
18.1.3 END_MESSAGE_MAP宏——结束消息映射的定义 622
18.2 消息映射宏 622
18.2.1 ON_COMMAND宏——处理来自用户的请求 622
18.2.2 ON_COMMAND_RANGE宏——处理一组命令消息 623
18.2.3 ON_CONTROL宏——控件通知消息映射宏 623
18.2.4 ON_CONTROL_RANGE宏——判断指定的字符串中是否包含指定的char值序列 625
18.2.5 ON_NOTIFY宏——通知消息映射宏 625
18.2.6 ON_NOTIFY_RANGE宏——同时处理一组通知消息 626
18.3 反射消息映射宏 627
18.3.1 ON_CONTROL_REFLECT宏——与控件通知有关的反射消息映射宏 627
18.3.2 ON_NOTIFY_REFLECT宏——与通知消息有关的反射消息映射宏 628
18.4 通用调试宏 628
18.4.1 ASSERT宏——调试信息 628
18.4.2 ASSERT_VALID宏——检验关于对象内部状态的有效性假定 628
18.5 用户定义消息处理宏 629
18.6 异常处理宏 629
18.6.1 CATCH宏——抛出异常类型 629
18.6.2 TRY宏——建立一个TRY块 630
第19章 常用全局函数 632
19.1 AfxBeginThread函数——创建新线程 632
19.2 AfxEnableControlContainer函数——提供对ActiveX控件容器的支持 633
19.3 AfxEndThread函数——结束线程 633
19.4 AfxFormatString函数——格式化字符串 634
19.5 AfxGetApp函数——访问应用程序的信息 634
19.6 AfxGetAppName函数——获取并返回当前应用程序的名称 634
19.7 AfxGetInstanceHandle函数——获得当前应用程序的实例句柄 635
19.8 AfxGetMainWnd函数——获得程序主窗口指针 635
19.9 AfxMessageBox函数——显示消息对话框 636
19.10 AfxRegisterClass函数——注册窗口类 637
19.11 AfxThrowResourceException函数——抛出资源异常 637
19.12 DDX_Control函数——管理数据交换 638
索引 639
前言
Visual C++作为当前程序开发中最流行的一种编程语言,以其简单、高效、快捷、方便的特性吸引了很多用户。总结多年使用Visual C++语言的经验,笔者相信对于Visual C++程序开发人员来说,一本内容全面的Visual C++参考手册是必需的。因此笔者编写了本书,供Visual C++程序开发人员在编程时参考,以易查、易学、易用为宗旨,使其成为Visual C++程序开发必备的工具书。
本书内容
本书共分为五篇19章,第一篇为数学与字符串相关函数,主要包括数学函数、字符函数和字符串函数、时间日期函数、类型转换函数等内容;第二篇为文件与I/O流函数,主要包括文件目录操作函数、内存操作函数、输入输出函数等内容;第三篇为Visual C++基础类,主要包括简单数据类、基类等内容;第四篇为标准控件类,主要包括文档、框架和视图类,以及控制栏类、对话框类、控件类、输出类等内容;第五篇为Visual C++高级应用,主要包括图形工具类、文件输入输出类、网络相关类、常用MFC宏、常用全局函数等内容。本书内容涉及Visual C++中的各种技术,在每一个类中按字母顺序对该类中的方法进行排序,其中每个方法都按照功能、语法来介绍,并使用示例进行说明。
本书特点
即查、即学、即用:本书将查、学、用融为一体,使读者能够进行快速查询和快速应用,既是实用工具书,也是学习参考书。
字母排序,快捷搜索:本书在讲解C函数和MFC类时按照功能进行了分类,用户在使用时可以根据功能缩小查找范围,快速查找。并且,每种技术以字母顺序进行排序,以便读者更快、更准确地查找相关内容。
内容全面,示例丰富:本书内容涵盖了Visual C++语言各方面的技术和应用。为了便于读者快速掌握每个知识点,本书针对每个知识点提供一个或多个示例,并标明了详尽的注释。
精彩栏目,贴心提醒:本书根据需要贴心地给出了很多“注意”、“说明”、“技巧”等小栏目,让读者在学习过程中更轻松地理解相关知识点及概念,并轻松地掌握个别技术的应用技巧。
读者对象
初学编程的自学者
编程爱好者
大、中专院校的老师和学生
相关培训机构的老师和学员
初、中级程序开发人员
程序测试及维护人员
参加实习的“菜鸟”程序员
本书服务
如果您在使用本书时遇到什么困难或疑惑,都可以联系我们,我们将在5个工作日内给您提供解答。我们的服务方式如下:
服务网站:www.mingribook.com
服务QQ:4006751066
本书内容
本书共分为五篇19章,第一篇为数学与字符串相关函数,主要包括数学函数、字符函数和字符串函数、时间日期函数、类型转换函数等内容;第二篇为文件与I/O流函数,主要包括文件目录操作函数、内存操作函数、输入输出函数等内容;第三篇为Visual C++基础类,主要包括简单数据类、基类等内容;第四篇为标准控件类,主要包括文档、框架和视图类,以及控制栏类、对话框类、控件类、输出类等内容;第五篇为Visual C++高级应用,主要包括图形工具类、文件输入输出类、网络相关类、常用MFC宏、常用全局函数等内容。本书内容涉及Visual C++中的各种技术,在每一个类中按字母顺序对该类中的方法进行排序,其中每个方法都按照功能、语法来介绍,并使用示例进行说明。
本书特点
即查、即学、即用:本书将查、学、用融为一体,使读者能够进行快速查询和快速应用,既是实用工具书,也是学习参考书。
字母排序,快捷搜索:本书在讲解C函数和MFC类时按照功能进行了分类,用户在使用时可以根据功能缩小查找范围,快速查找。并且,每种技术以字母顺序进行排序,以便读者更快、更准确地查找相关内容。
内容全面,示例丰富:本书内容涵盖了Visual C++语言各方面的技术和应用。为了便于读者快速掌握每个知识点,本书针对每个知识点提供一个或多个示例,并标明了详尽的注释。
精彩栏目,贴心提醒:本书根据需要贴心地给出了很多“注意”、“说明”、“技巧”等小栏目,让读者在学习过程中更轻松地理解相关知识点及概念,并轻松地掌握个别技术的应用技巧。
读者对象
初学编程的自学者
编程爱好者
大、中专院校的老师和学生
相关培训机构的老师和学员
初、中级程序开发人员
程序测试及维护人员
参加实习的“菜鸟”程序员
本书服务
如果您在使用本书时遇到什么困难或疑惑,都可以联系我们,我们将在5个工作日内给您提供解答。我们的服务方式如下:
服务网站:www.mingribook.com
服务QQ:4006751066
. 服务信箱:mingrisoft@mingrisoft.com
服务电话:0431-84978981/84978982
学习社区:www.mrbccd.com
致读者
本书由明日科技策划并组织编写,主要编写人员有刘志铭、王小科、王国辉、张鑫、杨丽、顾艳玲、赛奎春、高春艳、陈英、宋禹蒙、刘佳、辛洪郁、刘莉莉等。在本书的编写过程中,我们以科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。
编 者
2013年7月
服务电话:0431-84978981/84978982
学习社区:www.mrbccd.com
致读者
本书由明日科技策划并组织编写,主要编写人员有刘志铭、王小科、王国辉、张鑫、杨丽、顾艳玲、赛奎春、高春艳、陈英、宋禹蒙、刘佳、辛洪郁、刘莉莉等。在本书的编写过程中,我们以科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。
编 者
2013年7月
书摘
第1章
数学函数
数学函数是对数据进行计算时常用的函数。每个函数都有自己所在的头文件,使用时要先引用该函数的头文件。
1.1 _chgsign函数——求参数的相反数
_chgsign函数用于求参数的相反数。
头文件:float.h。
语法 double _chgsign(double x);
x:双精度的数。
返回值:参数的相反数。
示例 本示例使用_chgsign函数来获取参数的相反数。
int main()
{
double m = 5.0; //为m赋初值
double n;
n = _chgsign(m); //求m的相反数
printf("%f的相反数是%f\n",m,n); //输出结果
}
运行结果:
5.000000的相反数是-5.000000
1.2 _copysign函数——复制数据
数学函数
数学函数是对数据进行计算时常用的函数。每个函数都有自己所在的头文件,使用时要先引用该函数的头文件。
1.1 _chgsign函数——求参数的相反数
_chgsign函数用于求参数的相反数。
头文件:float.h。
语法 double _chgsign(double x);
x:双精度的数。
返回值:参数的相反数。
示例 本示例使用_chgsign函数来获取参数的相反数。
int main()
{
double m = 5.0; //为m赋初值
double n;
n = _chgsign(m); //求m的相反数
printf("%f的相反数是%f\n",m,n); //输出结果
}
运行结果:
5.000000的相反数是-5.000000
1.2 _copysign函数——复制数据
. _copysign函数将参数y的符号赋予x的数据。
头文件:float.h。
语法 double _copysign(double x, double y);
x:双精度的数。
y:双精度的数。
返回值:由x的数据和y的符号组成的数。
示例 本示例使用_copysign函数将变量x的符号设置成同y一致,其代码如下:
int main()
{
double x = 12.34,y = -32.5,a,b; //为变量赋初值
a = _copysign(x,y); //求由x的数据和y的符号组成的数
b = _copysign(a,x); //求由a的数据和x的符号组成的数
cout<<x<<"\t"<<y<<"\n";
cout<<a<<"\t"<<b<<"\n";
}
运行结果:
12.34 -32.5
-12.34 12.34
1.3 _hypot函数——求直角三角形斜边长度
_hypot函数用于求直角三角形斜边长度。
头文件:math.h。
语法 double _hypot(double x, double y);
x:直角三角形直角边。
y:直角三角形直角边。
返回值:直角三角形斜边长度。
示例 本示例是使用_hypot函数求直角三角形斜边长度,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _hypot(a,b); //求直角三角形斜边长度
cout<<c<<"\n";
}
运行结果:
5
1.4 _max函数——求两个数中的大数
_max函数用于求两个数中较大的数。
头文件:stdlib.h。
语法 type _max(type a, type b);
a:为进行比较的数据。
b:为进行比较的数据。
返回值:值比较大的数。
示例 本示例是使用_max函数求两个数中较大的数,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _max(a,b); //求较大的数
cout<<c<<"\n";
}
运行结果:
4
1.5 _min函数——求两个数中的小数
_min函数用于求两个数中较小的数。
头文件:stdlib.h。
语法 type _min(type a, type b);
a:进行比较的数据。
b:进行比较的数据。
返回值:值比较小的数。
示例 本示例使用_min函数求两个数中较小的数,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _min(a,b); //求较小的数
cout<<c<<"\n";
}
运行结果:
3
1.6 _scalb函数——求参数的2^ exp倍数
_scalb函数求参数x的2^ exp倍数。
头文件:math.h。
语法 double _scalb(double x, long exp);
x:双精度数。
exp:2的长整型指数。
返回值:x*(2^ exp)的结果。
示例 本示例使用_scalb函数求3*(2^4)的结果。
int main()
{
double a = 3,c; //为变量赋初值
long b = 4; //为变量赋初值
c = _scalb(a,b); //求a*(2^b)的结果
cout<<c<<"\n";
}
运行结果:
48
1.7 abs函数——求整数的绝对值
abs函数用于求整数的绝对值。
头文件:math.h或stdlib.h。
语法 int abs(int n);
n:求绝对值的数。
返回值:参数的绝对值。
示例 本示例使用abs函数求整数3和-4的绝对值。
int main()
{
int a = 3,b = -4,c,d; //为变量赋初值
c = abs(a); //求a的绝对值
d = abs(b); //求b的绝对值
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
3
4
典型应用 本程序实现获取用户输入的整数值,并在显示器上将运算前和运算后的整数数值输出。其运行效果如图1.1所示。
具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
int a; //定义变量
printf("请输入想要求出绝对值的整数:"); //输出提示信息
scanf("%d",&a); //获取用户输入的数值
printf("运用函数前a的值为:%d\n运用函数后a的值为:%d\n",a,abs(a));
}
1.8 acos函数——求反余弦
acos函数用于求反余弦。
头文件:math.h。
语法 double acos(double x);
x:双精度弧度值。
返回值:参数的反余弦值。
示例 本示例使用acos函数求0.5的反余弦值。
int main()
{
double m=0.5,n; //为变量赋初值
n = acos(m); //求m的反余弦值
cout<<n<<"\n";
}
运行结果:
1.0472
1.9 asin函数——求反正弦
asin函数用于求反正弦。
头文件:math.h。
语法 double asin(double x);
x:双精度弧度值。
返回值:参数的反正弦值。
示例 本示例使用asin函数求0.5的反正弦值。
int main()
{
double m=0.5,n; //为变量赋初值
n = asin(m); //求m的反正弦值
cout<<n<<"\n";
}
运行结果:
0.523599
1.10 atan函数——求反正切
atan函数用于求反正切。
头文件:math.h。
语法 double atan(double atan);
atan:双精度弧度值。
返回值:参数的反正切值。
示例 本示例使用atan函数求0.5的反正切值。
int main()
{
double m=0.5,n; //为变量赋初值
n = atan(m); //求m的反正切值
cout<<n<<"\n";
}
运行结果:
0.463648
1.11 atan2函数——求x/y的反正切值
atan2函数用于求x/y的反正切值。
头文件:math.h。
语法 double atan2(double y, double x);
x:双精度弧度值。
y:双精度弧度值。
返回值:x/y的反正切值。
示例 本示例使用atan2函数求m/n的反正切值。
int main()
{
double m=1,n=4,x; //为变量赋初值
x = atan2(m,n); //求m/n的反正切值
cout<<x<<"\n";
}
运行结果:
0.244979
1.12 ceil函数——求不小于x的最小整数
ceil函数用于求不小于x的最小整数。
头文件:math.h。
语法 double ceil(double x);
x:双精度数。
返回值:不小于x的最小整数。
示例 本示例使用ceil函数求不小于m的最小整数。
int main()
{
double m=6.123,n; //为变量赋初值
n = ceil(m); //求不小于m的最小整数
cout<<n<<"\n";
}
运行结果:
7
典型应用 该典型应用采用ceil函数返回一个不小于给定值的最小整数。本示例首先定义一个双精度浮点数,再采用ceil函数取不小于给定数的最小整数,其运行效果如图1.2所示。
其具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
double a=3.1415926,b; //定义一个双精度浮点数和一个变量
b=ceil(a); //求出给定数的最小整数
printf("运用函数前的数值为:%5.7f\n",a); //输出运用函数前的数值
printf("运用函数后的数值为:%5.7f\n",b); //输出运用函数后的数值
}
1.13 cos函数——求余弦
cos函数是求余弦的函数。
头文件:math.h。
语法 double cos(double x);
x:弧度值。
返回值:余弦函数值。
示例 本示例使用cos函数求m的余弦函数值。
int main()
{
double pi=3.1415926; //为变量赋初值
double m=pi/4,n; //为变量赋初值
n = cos(m); //求m的余弦函数值
cout<<n<<"\n";
}
运行结果:
0.707107
1.14 cosh函数——求双曲余弦
cosh函数是求双曲余弦的函数。
头文件:math.h。
语法 double cosh(double x);
x:弧度值。
返回值:双曲余弦函数值。
示例 本示例使用cosh函数求m的双曲余弦函数值。
int main()
{
double pi=3.1415926; //为变量赋初值
double m=pi/4,n; //为变量赋初值
n = cosh(m); //求m的双曲余弦函数值
cout<<n<<"\n";
}
运行结果:
1.32461
1.15 div函数——求两个数的商和余数
div函数用于求两个数的商和余数。
头文件:stdlib.h。
语法 div_t div(int numer, int denom);
numer:被除数。
denom:除数。
返回值:div_t类型的商和余数。
示例 本示例是使用div函数求512除以28的商和余数,代码如下:
int main()
{
int x = 512,y = 28; //为变量赋初值
div_t a;
a = div(x,y); //求512除以28的商和余数
cout<<a.quot<<"\t"<<a.rem<<"\n";
}
运行结果:
18 8
1.16 exp函数——求双精度数的指数函数值
exp函数用于求双精度数的指数函数值。
头文件:math.h。
语法 double exp(double x);
x:要求指数的双精度数。
返回值:双精度数的指数函数值。
示例 本示例使用exp函数求双精度数m的指数函数值。
int main()
{
double m=4,n; //为变量赋初值
n = exp(m); //求双精度数m的指数函数值
cout<<n<<"\n";
}
运行结果:
54.5982
1.17 fabs函数——求双精度数的绝对值
fabs函数用于求双精度数的绝对值。
头文件:math.h。
语法 double fabs(double x);
x:求绝对值的数。
返回值:参数的绝对值。
示例 本示例使用fabs函数求3和-4的绝对值。
int main()
{
double a = 3.3,b = -4.4,c,d; //为变量赋初值
c = fabs(a); //求a的绝对值
d = fabs(b); //求b的绝对值
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
3.3
4.4
1.18 floor函数——求不大于x的最大整数
floor函数用于求不大于x的最大整数。
头文件:math.h。
语法 double floor(double x);
x:双精度数。
返回值:不大于x的最大整数。
示例 本示例使用floor函数求不大于m的最大整数。
int main()
{
double m=6.123,n; //为变量赋初值
n = floor(m); //求不大于m的最大整数
cout<<n<<"\n";
}
运行结果:
6
1.19 fmod函数——求x/y的余数
fmod函数用于求x/y的余数。
头文件:math.h。
语法 double fmod(double x, double y);
x:双精度数。
y:双精度数。
返回值:x/y的余数。
示例 本示例使用fmod函数求不大于m/n的余数。
int main()
{
double m=10.1,n=3.1,x; //为变量赋初值
x=fmod(m,n); //求m/n的余数
cout<<x<<"\n";
}
运行结果:
0.8
1.20 frexp函数——把参数x调整到0.5~1之间
frexp函数把参数x调整到0.5~1之间。
头文件:math.h。
语法 double frexp(double x, int *expptr);
x:要调整的数,x=返回值*(2^ expptr)。
expptr:调整后的指数部分。
返回值:调整后的数。
示例 本示例使用frexp函数把123.45调整成0.5~1之间的数,其代码如下:
int main()
{
int x;
double a,b = 123.45; //为变量赋初值
a = frexp(b,&x); //求调整后的数
cout<<x<<"\t"<<a<<"\n";
}
运行结果:
7 0.964453
1.21 labs函数——求长整型参数的绝对值
labs函数用于求长整型参数的绝对值。
头文件:math.h或stdlib.h。
语法 long labs(long n);
n:长整型数。
返回值:参数的绝对值。
示例 本示例使用labs函数求长整型数的绝对值。
int main()
{
long m=11,n=-13,a,b; //为变量赋初值
a = labs(m); //求m的绝对值
b = labs(n); //求n的绝对值
cout<<a<<"\n";
cout<<b<<"\n";
}
运行结果:
11
13
1.22 ldexp函数——求参数的2^ exp倍数
ldexp函数用于求参数x的2^ exp倍数。
头文件:math.h。
语法 double ldexp(double x, int exp);
x:双精度数。
exp:2的整型指数。
返回值:x*(2^ exp)的结果。
示例 本示例使用ldexp函数求m*(2^ n)的结果。
int main()
{
double m=0.964453,n=7,x; //为变量赋初值
x = ldexp(m,n); //求m*(2^ n)的结果
cout<<x<<"\n";
}
运行结果:
123.45
典型应用 本典型应用采用该函数计算用户输入数值的2^ exp倍数。首先需要定义两个变量,然后获取用户输入的数值,最后计算该数值的2^ exp倍数,并输出其结果。其运行效果如图1.3所示。
其具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
double a,c;
int b;
printf("请输入一个数:");
scanf("%lf",&a);
printf("请输入次幂数:");
scanf("%d",&b);
c=ldexp(a,b);
printf("计算结果为:%lf\n",c);
}
1.23 ldiv函数——求两个长整型数相除的商和余数
ldiv函数用于求两个长整型数相除的商和余数。
头文件:stdlib.h。
语法 ldiv_t ldiv(long int numer, long int denom);
numer:被除数。
denom:除数。
返回值:numer除以denom的商和余数。
示例 本示例使用ldiv函数求两个长整型数相除的商和余数。
int main()
{
long x = 234,y = 23; //为变量赋初值
ldiv_t a;
a = ldiv(x,y); //求234除以23的商和余数
cout<<a.quot<<"\t"<<a.rem<<"\n";
}
运行结果:
10 4
1.24 log函数——自然对数
log函数用于求自然对数。
头文件:math.h。
语法 double log(double x);
x:双精度数。
返回值:参数的自然对数值。
示例 本示例使用log函数求3和40的自然对数,其代码如下:
int main()
{
double a = 3,b = 40,c,d; //为变量赋初值
c = log(a); //求3的对数
d = log(b); //求40的对数
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
1.09861
3.68888
1.25 log10函数——求以10为底的对数
log10函数用于求以10为底的对数。
头文件:math.h。
语法 double log10(double x);
x:双精度数。
返回值:以10为底的参数的对数值。
示例 本示例使用log10函数求以10为底的参数40的对数。
int main()
{
double m = 40,n; //为变量赋初值
n = log10(m); //求以10为底的参数40的对数
cout<<n<<"\n";
}
运行结果:
1.60206
头文件:float.h。
语法 double _copysign(double x, double y);
x:双精度的数。
y:双精度的数。
返回值:由x的数据和y的符号组成的数。
示例 本示例使用_copysign函数将变量x的符号设置成同y一致,其代码如下:
int main()
{
double x = 12.34,y = -32.5,a,b; //为变量赋初值
a = _copysign(x,y); //求由x的数据和y的符号组成的数
b = _copysign(a,x); //求由a的数据和x的符号组成的数
cout<<x<<"\t"<<y<<"\n";
cout<<a<<"\t"<<b<<"\n";
}
运行结果:
12.34 -32.5
-12.34 12.34
1.3 _hypot函数——求直角三角形斜边长度
_hypot函数用于求直角三角形斜边长度。
头文件:math.h。
语法 double _hypot(double x, double y);
x:直角三角形直角边。
y:直角三角形直角边。
返回值:直角三角形斜边长度。
示例 本示例是使用_hypot函数求直角三角形斜边长度,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _hypot(a,b); //求直角三角形斜边长度
cout<<c<<"\n";
}
运行结果:
5
1.4 _max函数——求两个数中的大数
_max函数用于求两个数中较大的数。
头文件:stdlib.h。
语法 type _max(type a, type b);
a:为进行比较的数据。
b:为进行比较的数据。
返回值:值比较大的数。
示例 本示例是使用_max函数求两个数中较大的数,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _max(a,b); //求较大的数
cout<<c<<"\n";
}
运行结果:
4
1.5 _min函数——求两个数中的小数
_min函数用于求两个数中较小的数。
头文件:stdlib.h。
语法 type _min(type a, type b);
a:进行比较的数据。
b:进行比较的数据。
返回值:值比较小的数。
示例 本示例使用_min函数求两个数中较小的数,其代码如下:
int main()
{
double a = 3,b = 4,c; //为变量赋初值
c = _min(a,b); //求较小的数
cout<<c<<"\n";
}
运行结果:
3
1.6 _scalb函数——求参数的2^ exp倍数
_scalb函数求参数x的2^ exp倍数。
头文件:math.h。
语法 double _scalb(double x, long exp);
x:双精度数。
exp:2的长整型指数。
返回值:x*(2^ exp)的结果。
示例 本示例使用_scalb函数求3*(2^4)的结果。
int main()
{
double a = 3,c; //为变量赋初值
long b = 4; //为变量赋初值
c = _scalb(a,b); //求a*(2^b)的结果
cout<<c<<"\n";
}
运行结果:
48
1.7 abs函数——求整数的绝对值
abs函数用于求整数的绝对值。
头文件:math.h或stdlib.h。
语法 int abs(int n);
n:求绝对值的数。
返回值:参数的绝对值。
示例 本示例使用abs函数求整数3和-4的绝对值。
int main()
{
int a = 3,b = -4,c,d; //为变量赋初值
c = abs(a); //求a的绝对值
d = abs(b); //求b的绝对值
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
3
4
典型应用 本程序实现获取用户输入的整数值,并在显示器上将运算前和运算后的整数数值输出。其运行效果如图1.1所示。
具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
int a; //定义变量
printf("请输入想要求出绝对值的整数:"); //输出提示信息
scanf("%d",&a); //获取用户输入的数值
printf("运用函数前a的值为:%d\n运用函数后a的值为:%d\n",a,abs(a));
}
1.8 acos函数——求反余弦
acos函数用于求反余弦。
头文件:math.h。
语法 double acos(double x);
x:双精度弧度值。
返回值:参数的反余弦值。
示例 本示例使用acos函数求0.5的反余弦值。
int main()
{
double m=0.5,n; //为变量赋初值
n = acos(m); //求m的反余弦值
cout<<n<<"\n";
}
运行结果:
1.0472
1.9 asin函数——求反正弦
asin函数用于求反正弦。
头文件:math.h。
语法 double asin(double x);
x:双精度弧度值。
返回值:参数的反正弦值。
示例 本示例使用asin函数求0.5的反正弦值。
int main()
{
double m=0.5,n; //为变量赋初值
n = asin(m); //求m的反正弦值
cout<<n<<"\n";
}
运行结果:
0.523599
1.10 atan函数——求反正切
atan函数用于求反正切。
头文件:math.h。
语法 double atan(double atan);
atan:双精度弧度值。
返回值:参数的反正切值。
示例 本示例使用atan函数求0.5的反正切值。
int main()
{
double m=0.5,n; //为变量赋初值
n = atan(m); //求m的反正切值
cout<<n<<"\n";
}
运行结果:
0.463648
1.11 atan2函数——求x/y的反正切值
atan2函数用于求x/y的反正切值。
头文件:math.h。
语法 double atan2(double y, double x);
x:双精度弧度值。
y:双精度弧度值。
返回值:x/y的反正切值。
示例 本示例使用atan2函数求m/n的反正切值。
int main()
{
double m=1,n=4,x; //为变量赋初值
x = atan2(m,n); //求m/n的反正切值
cout<<x<<"\n";
}
运行结果:
0.244979
1.12 ceil函数——求不小于x的最小整数
ceil函数用于求不小于x的最小整数。
头文件:math.h。
语法 double ceil(double x);
x:双精度数。
返回值:不小于x的最小整数。
示例 本示例使用ceil函数求不小于m的最小整数。
int main()
{
double m=6.123,n; //为变量赋初值
n = ceil(m); //求不小于m的最小整数
cout<<n<<"\n";
}
运行结果:
7
典型应用 该典型应用采用ceil函数返回一个不小于给定值的最小整数。本示例首先定义一个双精度浮点数,再采用ceil函数取不小于给定数的最小整数,其运行效果如图1.2所示。
其具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
double a=3.1415926,b; //定义一个双精度浮点数和一个变量
b=ceil(a); //求出给定数的最小整数
printf("运用函数前的数值为:%5.7f\n",a); //输出运用函数前的数值
printf("运用函数后的数值为:%5.7f\n",b); //输出运用函数后的数值
}
1.13 cos函数——求余弦
cos函数是求余弦的函数。
头文件:math.h。
语法 double cos(double x);
x:弧度值。
返回值:余弦函数值。
示例 本示例使用cos函数求m的余弦函数值。
int main()
{
double pi=3.1415926; //为变量赋初值
double m=pi/4,n; //为变量赋初值
n = cos(m); //求m的余弦函数值
cout<<n<<"\n";
}
运行结果:
0.707107
1.14 cosh函数——求双曲余弦
cosh函数是求双曲余弦的函数。
头文件:math.h。
语法 double cosh(double x);
x:弧度值。
返回值:双曲余弦函数值。
示例 本示例使用cosh函数求m的双曲余弦函数值。
int main()
{
double pi=3.1415926; //为变量赋初值
double m=pi/4,n; //为变量赋初值
n = cosh(m); //求m的双曲余弦函数值
cout<<n<<"\n";
}
运行结果:
1.32461
1.15 div函数——求两个数的商和余数
div函数用于求两个数的商和余数。
头文件:stdlib.h。
语法 div_t div(int numer, int denom);
numer:被除数。
denom:除数。
返回值:div_t类型的商和余数。
示例 本示例是使用div函数求512除以28的商和余数,代码如下:
int main()
{
int x = 512,y = 28; //为变量赋初值
div_t a;
a = div(x,y); //求512除以28的商和余数
cout<<a.quot<<"\t"<<a.rem<<"\n";
}
运行结果:
18 8
1.16 exp函数——求双精度数的指数函数值
exp函数用于求双精度数的指数函数值。
头文件:math.h。
语法 double exp(double x);
x:要求指数的双精度数。
返回值:双精度数的指数函数值。
示例 本示例使用exp函数求双精度数m的指数函数值。
int main()
{
double m=4,n; //为变量赋初值
n = exp(m); //求双精度数m的指数函数值
cout<<n<<"\n";
}
运行结果:
54.5982
1.17 fabs函数——求双精度数的绝对值
fabs函数用于求双精度数的绝对值。
头文件:math.h。
语法 double fabs(double x);
x:求绝对值的数。
返回值:参数的绝对值。
示例 本示例使用fabs函数求3和-4的绝对值。
int main()
{
double a = 3.3,b = -4.4,c,d; //为变量赋初值
c = fabs(a); //求a的绝对值
d = fabs(b); //求b的绝对值
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
3.3
4.4
1.18 floor函数——求不大于x的最大整数
floor函数用于求不大于x的最大整数。
头文件:math.h。
语法 double floor(double x);
x:双精度数。
返回值:不大于x的最大整数。
示例 本示例使用floor函数求不大于m的最大整数。
int main()
{
double m=6.123,n; //为变量赋初值
n = floor(m); //求不大于m的最大整数
cout<<n<<"\n";
}
运行结果:
6
1.19 fmod函数——求x/y的余数
fmod函数用于求x/y的余数。
头文件:math.h。
语法 double fmod(double x, double y);
x:双精度数。
y:双精度数。
返回值:x/y的余数。
示例 本示例使用fmod函数求不大于m/n的余数。
int main()
{
double m=10.1,n=3.1,x; //为变量赋初值
x=fmod(m,n); //求m/n的余数
cout<<x<<"\n";
}
运行结果:
0.8
1.20 frexp函数——把参数x调整到0.5~1之间
frexp函数把参数x调整到0.5~1之间。
头文件:math.h。
语法 double frexp(double x, int *expptr);
x:要调整的数,x=返回值*(2^ expptr)。
expptr:调整后的指数部分。
返回值:调整后的数。
示例 本示例使用frexp函数把123.45调整成0.5~1之间的数,其代码如下:
int main()
{
int x;
double a,b = 123.45; //为变量赋初值
a = frexp(b,&x); //求调整后的数
cout<<x<<"\t"<<a<<"\n";
}
运行结果:
7 0.964453
1.21 labs函数——求长整型参数的绝对值
labs函数用于求长整型参数的绝对值。
头文件:math.h或stdlib.h。
语法 long labs(long n);
n:长整型数。
返回值:参数的绝对值。
示例 本示例使用labs函数求长整型数的绝对值。
int main()
{
long m=11,n=-13,a,b; //为变量赋初值
a = labs(m); //求m的绝对值
b = labs(n); //求n的绝对值
cout<<a<<"\n";
cout<<b<<"\n";
}
运行结果:
11
13
1.22 ldexp函数——求参数的2^ exp倍数
ldexp函数用于求参数x的2^ exp倍数。
头文件:math.h。
语法 double ldexp(double x, int exp);
x:双精度数。
exp:2的整型指数。
返回值:x*(2^ exp)的结果。
示例 本示例使用ldexp函数求m*(2^ n)的结果。
int main()
{
double m=0.964453,n=7,x; //为变量赋初值
x = ldexp(m,n); //求m*(2^ n)的结果
cout<<x<<"\n";
}
运行结果:
123.45
典型应用 本典型应用采用该函数计算用户输入数值的2^ exp倍数。首先需要定义两个变量,然后获取用户输入的数值,最后计算该数值的2^ exp倍数,并输出其结果。其运行效果如图1.3所示。
其具体代码如下所示:
#include<stdio.h>
#include<math.h>
void main()
{
double a,c;
int b;
printf("请输入一个数:");
scanf("%lf",&a);
printf("请输入次幂数:");
scanf("%d",&b);
c=ldexp(a,b);
printf("计算结果为:%lf\n",c);
}
1.23 ldiv函数——求两个长整型数相除的商和余数
ldiv函数用于求两个长整型数相除的商和余数。
头文件:stdlib.h。
语法 ldiv_t ldiv(long int numer, long int denom);
numer:被除数。
denom:除数。
返回值:numer除以denom的商和余数。
示例 本示例使用ldiv函数求两个长整型数相除的商和余数。
int main()
{
long x = 234,y = 23; //为变量赋初值
ldiv_t a;
a = ldiv(x,y); //求234除以23的商和余数
cout<<a.quot<<"\t"<<a.rem<<"\n";
}
运行结果:
10 4
1.24 log函数——自然对数
log函数用于求自然对数。
头文件:math.h。
语法 double log(double x);
x:双精度数。
返回值:参数的自然对数值。
示例 本示例使用log函数求3和40的自然对数,其代码如下:
int main()
{
double a = 3,b = 40,c,d; //为变量赋初值
c = log(a); //求3的对数
d = log(b); //求40的对数
cout<<c<<"\n";
cout<<d<<"\n";
}
运行结果:
1.09861
3.68888
1.25 log10函数——求以10为底的对数
log10函数用于求以10为底的对数。
头文件:math.h。
语法 double log10(double x);
x:双精度数。
返回值:以10为底的参数的对数值。
示例 本示例使用log10函数求以10为底的参数40的对数。
int main()
{
double m = 40,n; //为变量赋初值
n = log10(m); //求以10为底的参数40的对数
cout<<n<<"\n";
}
运行结果:
1.60206
系列图书推荐
编程与类型系统
- ¥119.00
- ¥83.30
- 编程与类型系统
[套装书]编程与类型系统+TypeScript入门与实战(2册)
- ¥218.00
- ¥148.24
- [套装书]编程与类型系统+..
[套装书]编程与类型系统+TypeScript项目开发实战(2册)
- ¥208.00
- ¥141.44
- [套装书]编程与类型系统+..
精通Twisted:Python事件驱动及异步编程
- ¥99.00
- ¥62.37
- 精通Twisted:Python事件驱..
Python代码整洁之道:编写优雅的代码
- ¥79.00
- ¥49.77
- Python代码整洁之道:编写..
同类热销商品
Java编程思想(第4版)
- ¥108.00
- ¥75.60
- Java编程思想(第4版)
算法导论(原书第3版)
- ¥128.00
- ¥89.60
- 算法导论(原书第3版)
计算机网络:自顶向下方法(原书第7版)
- ¥89.00
- ¥62.30
- 计算机网络:自顶向下方法..
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)
- ¥129.00
- ¥87.80
- 深入理解Java虚拟机:JVM高..
超简单:用Python让Excel飞起来
- ¥69.80
- ¥43.97
- 超简单:用Python让Excel飞..