int CategoryCount = m_wndRibbonBar.GetCategoryCount();
for(int i = 0; i< CategoryCount; i++)
{
CMFCRibbonCategory* pCategory = m_wndRibbonBar.GetCategory(i);
CString CategoryName = pCategory->GetName();
USES_CONVERSION;
TRACE("Category Index:%d Name:%s\n", i, W2A(CategoryName));
int PanelCount = pCategory->GetPanelCount();
for(int j = 0; j< PanelCount; j++)
{
CMFCRibbonPanel* pPanel = pCategory->GetPanel(j);
CString PanelName = pPanel->GetName();
USES_CONVERSION;
TRACE("Panel Index:%d Name:%s\n", j, W2A(PanelName));
CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*> pControlArr;
pPanel->GetElements(pControlArr);
int nControlCount = pControlArr.GetSize();
for(int t = 0; t< nControlCount; t++)
{
CMFCRibbonBaseElement* pConrol = pControlArr.GetAt(t);
USES_CONVERSION;
TRACE("Control Index:%d, Name:%s, ID:%d\n", t, W2A(pConrol->GetText()), pConrol->GetID());
}
}
}