Thread: CListCtrl and Arbitrary Data :: MFC

  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
    Location
    Waterloo, Texas
    Posts
    5,708
    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:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 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