数组类 | 变量类型 | 变量数值范围 | 头文件 |
CArray | 通过模板类的参数类型设定各种类型 | Afxtempl.h | |
CByteArray | 8位无符号整数 BYTE类型 | 0—255 | Afxcoll.h |
CWordArray | 16位无符号整数 WORD类型 | 0—65535 | Afxcoll.h |
CDWordArray | 32位无符号整数 DWORD类型 | 0—4294967295 | Afxcoll.h |
CUIntArray | 32位无符号整数 UINT类型 | 0—4294967295 | Afxcoll.h |
CStringArray | CString字符串 string字符串 | Afxcoll.h | |
CObArray | CObject类及其派生类 | Afxcoll.h | |
CPtrArray void* | 类型指针 | Afxcoll.h |
void CArrayDlg::OnArrayCpoint() { CArray <CPoint,CPoint&> m_Array; m_Array.SetSize(10,10); CPoint pt1(10,10); m_Array.Add(pt1); CPoint pt2(10,50); m_Array.Add(pt2); CPoint pt3(10,100); m_Array.Add(pt3); int size=m_Array.GetSize(); CClientDC dc(this); dc.MoveTo(0,0); CPoint pt; for(int i=0;i<size;i++) { pt=m_Array.GetAt(i); dc.LineTo(pt); } } |
int size=m_Array.GetSize(); |
for(int i=0;i<size;i++) { pt=m_Array.GetAt(i); dc.LineTo(pt); } |
void CArrayDlg::OnArrayCstring() { CArray m_string; CString sztiger("tiger"); CString szbear("bear"); CString szdog("dog"); m_string.SetAtGrow(0,sztiger); m_string.SetAtGrow(2,szdog); m_string.InsertAt(1,szbear); int count=m_string.GetSize(); CClientDC dc(this); dc.SetBkMode(TRANSPARENT); TEXTMETRIC textMetric; dc.GetTextMetrics(&textMetric); int fontHeight=textMetric.tmHeight; int displayPos=10; for(int x=0;x<count;++x) { dc.TextOut(10,displayPos,m_string[x]); displayPos+=fontHeight; } AfxMessageBox("Continue..."); m_string.RemoveAt(2); count=m_string.GetSize(); for(x=0;x<count;++x) { dc.TextOut(10,displayPos,m_string[x]); displayPos+=fontHeight; } AfxMessageBox("A string has delete,continue..."); m_string.RemoveAll(); count=m_string.GetSize(); if(count==0) AfxMessageBox("All elements are deleted."); } |
m_string.SetAtGrow(2,szdog); |
m_string.SetAtGrow(0,sztiger); m_string.SetAtGrow(2,szdog); m_string.InsertAt(1,szbear); |
void CArrayDlg::OnCuintarray() { CUIntArray m_array; m_array.SetSize(5,5); m_array.SetAt(0,0); m_array.SetAt(1,1); m_array.SetAt(2,2); m_array.SetAt(3,3); m_array.SetAt(4,4); int count=m_array.GetSize(); CClientDC dc(this); dc.SetBkMode(TRANSPARENT); TEXTMETRIC textMetric; dc.GetTextMetrics(&textMetric); int fontHeight=textMetric.tmHeight; int displayPos=10; for(int x=0;x<count;++x) { CString str; str.Format("%d",m_array.GetAt(x)); dc.TextOut(10,displayPos,str); displayPos+=fontHeight; } } |