//************************************************************************************* void CBCGPKeyMapDlg::OnSelchangeCategory() { UpdateData (); ASSERT (m_lpAccel != NULL); int iIndex = m_wndCategoryList.GetCurSel (); if (iIndex == LB_ERR) { return; } HINSTANCE hInstRes = AfxGetResourceHandle (); #ifndef BCGP_EXCLUDE_RIBBON if (m_pWndRibbonBar != NULL) { CBCGPRibbonCategory* pCategory = NULL; if (m_pWndRibbonBar->GetMainCategory () != NULL) { iIndex--; if (iIndex < 0) { pCategory = m_pWndRibbonBar->GetMainCategory (); } } if (pCategory == NULL) { pCategory = m_pWndRibbonBar->GetCategory (iIndex); } ASSERT_VALID(pCategory); CArray<CBCGPBaseRibbonElement*, CBCGPBaseRibbonElement*> arElements; pCategory->GetElements (arElements); AfxSetResourceHandle (m_hInstDefault); int nItem = 0; m_KeymapList.DeleteAllItems(); for (int i = 0; i < (int)arElements.GetSize (); i++) { CBCGPBaseRibbonElement* pElem = arElements [i]; ASSERT_VALID (pElem); if (!pElem->IsKindOf (RUNTIME_CLASS (CBCGPRibbonSeparator)) && pElem->GetID() > 0 && pElem->GetID() != (UINT) -1) { CString strLabel = pElem->GetToolTip(); if (strLabel.IsEmpty ()) { strLabel = pElem->GetText(); } if (!strLabel.IsEmpty()) { OnInsertItem(pElem, nItem); if (m_bItemWasAdded) { nItem++; } } } } } else #endif { CObList* pCategoryButtonsList = (CObList*) m_wndCategoryList.GetItemData (iIndex); ASSERT_VALID (pCategoryButtonsList); AfxSetResourceHandle (m_hInstDefault); int nItem = 0; m_KeymapList.DeleteAllItems(); for (POSITION pos = pCategoryButtonsList->GetHeadPosition (); pos != NULL;) { CBCGPToolbarButton* pButton = (CBCGPToolbarButton*) pCategoryButtonsList->GetNext (pos); ASSERT (pButton != NULL); if (pButton->m_nID > 0 && pButton->m_nID != (UINT) -1) { OnInsertItem (pButton, nItem); if (m_bItemWasAdded) { nItem++; } } } } m_KeymapList.SortItems (listCompareFunc, (LPARAM) this); AfxSetResourceHandle (hInstRes); }
void TinyListView::LvnInsertItem(INT iItem) { OnInsertItem(iItem); }