void PageUnit::OnChangedType(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; // TODO: Add your control notification handler code here int index = pNMListView->iItem; if(index == -1) { return; } int nID = m_UnitTypeList.GetItemData(index); UnitTypeID Id = static_cast<UnitTypeID>(nID); UnitType *pUnitType = NULL; UnitString *pSymbol = NULL; if(m_pUnitSystem->FindUnit(Id,pUnitType)) { if(!UpdataSymbol()) return; m_UnitTypeList.SetHotItem(index); m_CurSel = index; m_pCurUnit = pUnitType; m_symbolList.ResetContent(); IteratorPtr<UnitString> iteratorPtr(pUnitType->CreatIterator()); for(iteratorPtr->Fist();!iteratorPtr->IsDone();iteratorPtr->Next()) { pSymbol = &iteratorPtr->CurrentItem(); InitSymbol(pSymbol); } } else { ASSERT(FALSE); } *pResult = 0; }