CMap: Mapping CString to CStringArray
Just a simple MFC trick. To map from CString to CStringArray use:
CMap<CString, LPCTSTR, CStringArrayX, CStringArrayX&>
where CStringArrayX is defined as:
class CStringArrayX : public CStringArray { public: CStringArrayX() {} CStringArrayX(const CStringArrayX &qSource); CStringArrayX &operator = (const CStringArrayX &qSource); };
CStringArrayX::CStringArrayX (const CStringArrayX &qSource) { SetSize (qSource.GetSize()); for (long c=qSource.GetSize()-1; c>=0; c--) (*this)[c]=qSource[c]; }
CStringArrayX &CStringArrayX::operator = (const CStringArrayX &qSource) { SetSize (qSource.GetSize());
for (long c=qSource.GetSize()-1; c>=0; c--) (*this)[c]=qSource[c];
return (*this); }
Hopefully this post keeps some people from searching as long as I did… 😉
Tags: MFC