CListCtrl and Arbitrary Data :: MFC

This is a discussion on CListCtrl and Arbitrary Data :: MFC within the Windows Programming forums, part of the Platform Specific Boards category; Hi. Is there an object that is part of each item (row) in a CListCtrl that can be used to ...

  1. #1
    Registered User
    Join Date
    Nov 2001
    Posts
    1,348

    CListCtrl and Arbitrary Data :: MFC

    Hi.

    Is there an object that is part of each item (row) in a CListCtrl that can be used to store arbitrary data or a pointer to them? For example, give there a CListCtrl with two columns. Both columns contain texts; however, I want to store data or pointer to data that correspond to the items in CListCtrl.

    I have considered other solutions include an independent STL contains such as a vector that will update as the user makes changes to the CListCtrl. There is a performance reduction for removal. Thus, I that is the last resort.

    Thanks,
    Kuphryn

  2. #2
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Posts
    5,453
    Sure you can.

    int result = SendMessage(list, LB_SETITEMDATA, (WPARAM)index, (LPARAM)data);

    if(result == LB_ERR)
    ///....failed

    ...and...

    void * data = 0;

    int result = SendMessage(list, LB_GETITEMDATA, (WPARAM)index, 0);

    if(success == LB_ERR)
    ///....failed
    else
    data = (void*)result;
    Code:
    int main(void){srand(time(0));for(double l=rand(),l0=0,l00=0;;l0+=0.1){for(double l000=0;l000
    <1;l000+=.001,l+=((double)rand()/RAND_MAX)/0x64,l00+=((sin(l*0x8*atan(l0)*l000-(l0*0x8*atan
    (l)))*0.5)+0.5)){l00-=floor(l00);for(size_t l0000=0,l00000=(size_t)(0x50*(l00));l0000<l00000;++l0000
    )putchar(0x20);putchar(0x61+(int)((double)rand()/RAND_MAX*0x1a));putchar('\n');}}return 0;}

  3. #3
    Registered User
    Join Date
    Nov 2001
    Posts
    1,348
    Okay. Thanks.

    SetItemData()
    GetItemData()

    Kuphryn

Popular pages Recent additions subscribe to a feed

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21