Exemplo n.º 1
0
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;
}