CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums
Results 1 to 3 of 3

Thread: CListControl

  1. #1
    Join Date
    Jul 1999


    Hi All,

    I have a doubt regarding the list control Deleteitem() and DeleteAllItem()s.

    If I call DeleteItem() or DeleteAllItems(), Is list control going to delete associated item that's set by SetItemData().

    Consider the following the situation,

    Myrec *myRec = new Myrec();
    // do some caluclations and fill Myrec.
    // Add to list control
    LVITEM pItem;
    pItem.iItem = count;//lCount-1;
    pItem.iSubItem = 0;
    pItem.mask = LVIF_TEXT | LVIF_PARAM;
    pItem.pszText = myRec->Name;
    myCtrl.InsertItem( &pItem );
    myCtrl.SetItemText(count, 1,myRec->ID;

    After some time If I call myCtrl.DeleteAllites(), Is it going to delete the associated item myRec pointer(in heap) along with each row in list control?

    Or do I need to store all my qrec pointers in a separate list while adding to list control, and delete them explicitly????

    Thanks and Regards,

  2. #2
    igbrus is offline Elite Member Power Poster
    Join Date
    Aug 2000
    Los Angeles

    Re: CListControl

    No, CListCtrl definitely doesn't delete your MyRec pointers, because it doesn't know what to do and how. You have to delete them by yourself before DeleteAllItems via call GetItemData in a loop( just if you need to delete them )

  3. #3
    Join Date
    Nov 1999
    Dresden / Germoney

    Re: CListControl

    List Ctrl sends an LVN_DELETEITEM, and LVN_DELETEALLITEMS notifications when an item is deleted, so typically you would delete the myRect there.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Windows Mobile Development Center

Click Here to Expand Forum to Full Width

On-Demand Webinars (sponsored)