GetOwner()->SendMessage(BCG_CHECK_CHANGED, GetDlgCtrlID());
LPARAM转std::string
static bool UDgreaterByName(PDB_BasicData elem1, PDB_BasicData elem2)
{
return elem1->Name == elem2->Name ? elem1->ID > elem2->ID : elem1->Name > elem2->Name;
}
std::string GetUniqueNameID(const std::string &strName, int ID)
{
return strName + "(" + boost::lexical_cast<std::string>(ID) + ")";
}
void GetDataNameMap(int iDataType, std::map<std::string, BasicData::PDB_BasicData> &mapSurfaceDatas)
{
std::vector<const BasicData::CDB_BasicDta *> vecSurfaceDatas;
GPT::GPT_Find(iDataType, vecSurfaceDatas);
std::sort(vecSurfaceDatas.begin(), vecSurfaceDatas.end(), UDgreaterByName);
for(size_t i=0, i<vecSurfaceDatas.size(); ++i)
{
std::string strName = vecSurfaceDatas[i]->Name;
std::string strTemp = strName;
int iIndex = 0;
while(mapSurfaceDatas.count(strTemp))
{
strTemp = GetUniqueNameID(strName, iIndex);
}
strTemp = iIndex == 0 ? strName : GetUniqueNameID(strName, iIndex);
mapSurfaceDatas[strTemp] = vecSurfaceDatas[i];
}
}
MFC:
AfxGetMainWnd():