WindowPtr WindowManager::FindWindow(LPCTSTR pszWindowName) throw() { // check root window WindowPtr spWindow = m_spRootWindow; if (spWindow->GetAttr(WindowAttr::Name) == pszWindowName) return spWindow; // since the root window is a Panel, ask it std::shared_ptr<Panel> spPanel = std::dynamic_pointer_cast<Panel, Window>(spWindow); ATLASSERT(spPanel != NULL); return spPanel->FindByName(pszWindowName); }