void KPvsAttriPanel::UpdateSubTree() { if (!IsWindow(m_treeSub) || !GetPvsScene()) return; IEKG3DRepresentPVS* pvs = GetPvsScene()->GetPvs(); if (!pvs) return; m_treeSub.DeleteAllItems(); m_hModelRoot = m_treeSub.InsertItem("模型"); m_hSFXRoot = m_treeSub.InsertItem("特效"); m_hLightRoot = m_treeSub.InsertItem("灯光"); DWORD dwCount = pvs->GetInsideObjectCount(); for (DWORD i = 0; i < dwCount; ++i) { IEKG3DRepresentObject* obj = pvs->GetInsideObject(i); if (obj) { OnAddObject(obj); } } }
LRESULT CObjectView::ChildReaction(SpaceRectionMsg* srm){ switch(srm->Msg) { case OBJECT_ADD: OnAddObject(srm->wParam,srm->lParam); break; case OBJECT_DEL: OnDeleteObject(srm->wParam,srm->lParam); break; case OBJECT_FIND: OnFindObject(srm->wParam,srm->lParam); case OBJECT_CLR: OnClearAll(srm->wParam,srm->lParam); break; case OBJECT_SETTITLE: OnSetTitle(srm->wParam,srm->lParam); } return 0; }
void CObjectView::AddObject(int64 ID,tstring& Name,SPACETYPE Type,tstring& Fingerprint,HICON hIcon){ ObjectItem* Item = new ObjectItem(ID,Name,Type,Fingerprint,hIcon); if(GetHwnd())SendChildMessage(GetHwnd(),OBJECT_ADD,(int64)Item,0); else OnAddObject((int64)Item,0); };