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

请参见

参考

CListCtrl选件类

层次结构图

CListCtrl::DeleteItem

CListCtrl::DeleteAllItems

LVM_INSERTITEM