Hi,
I want that my menu will load with the original controls text (Note that if some menu items were removed by user customization - I do not want to see those items).
I tried using the following code but it didnt work:
CXTPMenuBar* pMenuBar = mManager->GetMenuBar(); CXTPControls* pMenuControls = pMenuBar->GetControls(); CXTPControls* pOriginalControls = pMenuControls->GetOriginalControls();
pMenuControls - First parameter
pOriginalControls - second parameter
void CMainFrame::RestoreOrigionalNames(CXTPControls* iControls, CXTPControls* iOriginalControls) { // restore the bars items original names CXTPControl* pCntrl = NULL; UINT aItemCount = iControls->GetCount();
for (int i = 0 ; i < (int)aItemCount ; ++i) { CXTPControlPopup* pControlPopup = DYNAMIC_DOWNCAST(CXTPControlPopup, iControls->GetAt(i)); if(pControlPopup) { int aId = pControlPopup->GetID(); CXTPControl* pOriginalControl = iOriginalControls->FindControl(aId); CString aOriginalCaption = pOriginalControl->GetCaption(); pControlPopup->SetCaption(aOriginalCaption); RestoreOrigionalNames(pControlPopup->GetCommandBar()->GetControls(), pOriginalControl->GetCommandBar()->GetControls()); } else { pCntrl = iControls->GetAt(i); int aId = pCntrl->GetID(); CXTPControl* pOriginalControl = iOriginalControls->FindControl(aId); CString aOriginalCaption = pOriginalControl->GetCaption(); pCntrl->SetCaption(aOriginalCaption); } } }
What Is the right way to do it ?
Yoav.
|