CListCtrl::InsertItem
项插入到列表视图控件。
int InsertItem(
const LVITEM* pItem
);
int InsertItem(
int nItem,
LPCTSTR lpszItem
);
int InsertItem(
int nItem,
LPCTSTR lpszItem,
int nImage
);
int InsertItem(
UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam
);
参数
pItem
到指定项目的属性的 LVITEM 结构的指针,如 Windows SDK所述。nItem
要插入的项的索引。lpszItem
包含项的标签的字符串的地址或 LPSTR_TEXTCALLBACK,如果项目是回调项目。 有关回调项目的信息,请参见 CListCtrl::GetCallbackMask。nImage
项的图像的索引或 I_IMAGECALLBACK,如果项目是回调项目。 有关回调项目的信息,请参见 CListCtrl::GetCallbackMask。nMask
nMask 参数指定哪些项属性已通过,因为参数有效。 它可以是在 Windows SDK的 LVITEM Structure 描述的一个或多个掩码值。 有效值可以按位组合使用或运算符。nState
指示项的状态,状态图像,并复盖图像。 请参见 Windows SDK 主题 LVITEM Structure 有关更多信息和 List-View Item States 为有效标志列表。nStateMask
指示状态成员的哪些位将检索或修改。 在参见 Windows SDK 的 LVITEM Structure 有关更多信息。lParam
32位特定的值与项目。 如果此参数指定,则必须设置 nMask 属性 LVIF_PARAM。
返回值
索引新项目,如果成功或-1否则为。
备注
调用此方法会导致 LVM_INSERTITEM 发送到控件的窗口。 控件关联的消息处理程序将不能设置项文本在某些情况下(例如使用窗口样式(如) LVS_OWNERDRAW)。 有关这些情况的更多信息,请参见。Windows SDK的 LVM_INSERTITEM。
示例
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
(i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);
// Initialize the text of the subitems.
for (int j = 1; j < nColumnCount; j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
要求
Header: afxcmn.h