本文整理汇总了C++中TVector::Remove方法的典型用法代码示例。如果您正苦于以下问题:C++ TVector::Remove方法的具体用法?C++ TVector::Remove怎么用?C++ TVector::Remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TVector
的用法示例。
在下文中一共展示了TVector::Remove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RemoveItemByIdx
void RemoveItemByIdx(int iItem)
{
int numRemoved = 0;
if (iItem != -1) {
// find the first matching item
while (iItem > 1 && m_vItems[iItem-1] == m_vItems[iItem]) {
iItem--;
}
// now remove all the matching items
TRef<ListItem> pListItem = m_vItems[iItem];
while (iItem < m_vItems.GetCount() && m_vItems[iItem] == pListItem) {
m_vItems.Remove(iItem);
numRemoved++;
}
if (iItem <= m_iSelItem) {
SetSelItemByIdx(m_iSelItem - numRemoved);
} else {
SetSelItemByIdx(m_iSelItem);
}
if (m_pScrollPane) {
// save the old top item, because shrinking the scroll pane could change it
int iOldTopItem = m_iTopItem;
m_pScrollPane->SetSize(m_vItems.GetCount());
if (iItem < iOldTopItem) {
SetScrollPosition(max(iOldTopItem - numRemoved, 0));
} else {
SetScrollPosition(min(iOldTopItem,
max(m_vItems.GetCount() - m_cVisibleItems, 0)));
}
}
NeedPaint();
}
}