MFC数组类
CArray
在头文件Afxtempl.h中定义。
非模板化的数组类,分别为保存特定类型的数据而设计。这些类在Afxcoll.h中定义。
CByteArrayBYTE 8位字节
CWordArrayWORD 16位字节
CDWordArrayDWORD 32位字节
CUIntArrayUINT 无符号整型
CStringArrayCString
CPtrArrayvoid指针
CObArrayCObject指针
动态调整数组大小
CUintArray array;
Array.SetSize(10);
//调整到20个
Array.SetSize(20);
★     使用SetSize调整,调整后原来的项仍然保持原来的值不变。
赋值时使用SetAtGrow代替SetAt赋值。SetAtGrow会在必要是自动增大数据的内存空间,Add,InsertAt,Append,Copy也是这样。
★     内存不足造成数组增大失败,抛出的异常类型CMemoryException
★     SetSize也可以用来减少数组元素,但SetSize并不会自动缩小保存数组数据的缓冲区,需要调用FreeExtra 释放内存
Array.SetSize(50);
Array.Setsize(30);
Array.FreeExtra();
使用模板类CArray
CArray是一个模板类,用它可以位任意的数据类型创建类型安全数组类,如为CPoint对象创建安全数组。
CArray<CPoint,CPoint&> array;//第一个参数指定了保存在数组中的数据类型,第二个参数指定类型在参数列表中的表示方法
//赋值
For(int i=0;i<10;i++)
{
Array.SetAtGrow(i,CPoint(i*10,0));
}
//读取
Int nCount = array.GetSize();
For(i=0;i<nCount;i++)
{
CPoint point=array[i];
}
★CArray模板参数中可以使用任何种类的数据,甚至是自己创建的类
CList模板类
自定义类型的非模板列表类
CObListCObject指针
CPtrListvoid指针
CStringList CStirng
因为CList是模板类,所以CList和CArray一样可以为任何数据类型创建安全列表
Typedef CList<CPoint,CPoint&> CPointList;
CPointList list;
基于模板的映射表类CMap
特定类型的映射表类
CMapWordToPtr 保存void指针,关键字为WORD
CMapPtrToWord 保存WORD,关键字为void指针
CMapPtrToPtr保存void指针,关键字为其他void指针
CMapWordToOb 保存CObject指针,关键字为WORD
CMapStringToOb
CMapStringToPtr
CMapStringToString
创建CPoint的对象集合,关键字为CString的映射表类
CMap<CString,CString&,CPoint,cPoint&> map;
Map[CString(_T(“A”))]=CPont(0,0);//建立映射表数据
CPoint point;
Map.Lookup(CString(_T(“A”)),point);//根据关键字查找映射表将值赋给参数,成功返回TRUE。
类型指针类
MFC的类型指针类是一组三个模板类,用来以安全的方式处理指针集合。
CTypedPtrArray管理指针数组
CTypedPtrList管理指针连接列表
CTypedPtrMap管理使用指针作为项目或关键字的映射表

MFC Windows 程序设计(5)相关推荐

  1. MFC Windows 程序设计[192]之六只眼八卦图按钮组(附源码)

    MFC Windows 程序设计[192]之六只眼八卦图按钮组 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class librarie ...

  2. MFC Windows 程序设计[253]之美丽的编辑搜索框(附源码)

    MFC Windows 程序设计[253]之美丽的编辑搜索框 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries ...

  3. MFC Windows 程序设计[323]之噪声特征流显示gribble2(附源码)

    MFC Windows 程序设计[323]之噪声特征流显示gribble2 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class li ...

  4. MFC Windows 程序设计[五十六]之开启子对话框(附源码)

    MFC Windows 程序设计[五十六]之开启子对话框 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  5. MFC Windows 程序设计[315]之磁盘文件列举器(附源码)

    MFC Windows 程序设计[315]之磁盘文件列举器 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries) ...

  6. MFC Windows 程序设计[218]之网络打印机(附源码)

    MFC Windows 程序设计[218]之网络打印机 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以 ...

  7. 模式对话框和非模式对话框的区别(出自MFC windows程序设计第二版p370)

    模式对话框和非模式对话框的区别:(出自<MFC windows程序设计>第二版p370) 1.显示模式对话框需要调用CDialog::DoModal,而显示无模式对话框则要调用CDialo ...

  8. MFC Windows 程序设计[325]之表格控件例程(附源码)

    MFC Windows 程序设计[325]之表格控件例程 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  9. MFC Windows 程序设计[六十]之窗口分屏(附源码)

    MFC Windows 程序设计[六十]之窗口分屏 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C+ ...

  10. MFC Windows 程序设计[195]之最大最小化串连格子(附源码)

    MFC Windows 程序设计[195]之最大最小化串连格子 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class librarie ...

最新文章

  1. AndoridSQLite数据库开发基础教程(4)
  2. python编程与特征提取_Python进行特征提取的示例代码
  3. python新手项目-Python 的练手项目有哪些值得推荐?
  4. spring29: JdbcTemplate详解
  5. 旧文 | 舒迅:产品经理必读的九步法
  6. 第一个DNN 模块PictureGallery已经完成
  7. 戏说模式-追MM与设计模式 (转载)
  8. rubymine 调试 redmine
  9. java web开发基础学习
  10. 详解RPC远程调用和消息队列MQ的区别
  11. java 最少使用(lru)置换算法_「Redis源码分析」Redis中的LRU算法实现
  12. 问题 L: 一年中的第几天
  13. ats反向代理和重定向
  14. python协同过滤算法_【知识发现】基于用户的协同过滤推荐算法python实现
  15. 完成网络传真,网络扫描。
  16. 视频切片mp4格式转换m3u8
  17. SEO入门:网站站内优化流程
  18. 权力来自于他人的服从
  19. Java Swing五子棋项目
  20. 如何用计算机求素数,在线质数(素数)计算器

热门文章

  1. 为什么招聘程序员不喜欢招女生
  2. 微信小程序中开发环境下的POST请求
  3. 网易笔试题 字符串碎片
  4. 七年级上册计算机教学反思,初一数学上学期教学反思
  5. 2016CDA杯大数据竞赛排行榜出炉 人大统计学院摘得桂冠!
  6. 从北航计算机到字节算法岗
  7. AMD全球首发7nm CPU/GPU,一举超越英特尔和英伟达?
  8. 自媒体是什么?新手如何做自媒体?
  9. 在 vue3 中使用 markdown 编辑器 md-editor-v3
  10. 爬山有哪些好处以及需要注意哪些问题