杭州做网站多少钱,佣金高的试玩app平台,江西企业网站建设公司,密云住房和城乡建设部网站首页MFC提供CList 类#xff1b;
类CList支持可按顺序或按值访问的非唯一对象的有序列表#xff1b;CList 列表与双链接列表行为相似#xff1b; 类型POSITION的变量是列表的关键字#xff1b;可使用POSITION变量作为循环因子来顺序遍历列表#xff0c;作为书签来保存位置
类CList支持可按顺序或按值访问的非唯一对象的有序列表CList 列表与双链接列表行为相似 类型POSITION的变量是列表的关键字可使用POSITION变量作为循环因子来顺序遍历列表作为书签来保存位置
CList 类的头文件是 afxtempl.h
CList类的成员
构造函数 构造一个空的有序列表
GetHead 返回列表的标题元素不能为空 GetTail 返回列表的末尾元素不能为空
RemoveHead 从列表标题中移走元素 RemoveTail 从列表末尾移走元素 AddHead 添加一个元素或另一个列表的所有元素到列表标题生成新的标题 AddTail 添加一个元素或另一个列表的所有元素到列表尾部生成新的尾部 RemoveAll 从列表中移走所有元素
GetHeadPosition 返回列表标题元素的位置 GetTailPosition 返回列表尾部元素的位置 GetNext 获取用于遍历下一个元素 GetPrev 获取用于遍历的前一个元素
GetAt 在指定位置上获得元素 SetAt 在指定位置上设置元素 RemoveAt 从列表中删除一个由位置确定的元素
InsertBefore 在指定位置前插入一个新的元素 InsertAfter 在指定位置后插入一个新的元素
Find 获得由指针值确定的元素位置 FindIndex 获得由基于零的索引指定的元素位置
GetCount 返回此列表中的元素数 IsEmpty 检测空列表的情况没有元素
下面看一下存储CString对象和CPoint对象的遍历
void CCltestView::OnDraw(CDC* pDC)
{CCltestDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCListCString ,CString list;int i0;CString str1hello; CString str2world; CString str3AAA; CString str4BBB; list.AddTail(str1); list.AddTail(str2); list.AddTail(str3); list.AddTail(str4); POSITION pos list.GetHeadPosition(); while(pos!NULL){ pDC-TextOut(100,100i*30,list.GetNext(pos));i i1;}CString mystr;CPoint mypt;CList CPoint , CPoint listPoint;for (int Index 0; Index 10; Index){CPoint pt(Index , Index);listPoint.AddTail(pt);}i0;POSITION pi listPoint.GetHeadPosition();while(pi!NULL){mypt listPoint.GetNext(pi);mystr.Format(%d, %d, mypt.x, mypt.y);pDC-TextOut(250,50i*30,mystr);ii1;}
}
运行如下