|
From: Filipe Madureira on 6 May 2008 07:44 Hi, I want to fill a ListCtrl in C++ with OwnerData. I am managing OnGetDispInfo() to provide the text information to display, but my question is, who manages the memory in the item.pszText ? I tryed to do in 2 different ways, and they both seem to work, or at least the text is displayed: Example 1- LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR; if (pDispInfo->item.mask & LVIF_TEXT) { CString Message = "HELLO"; lstrcpy(pDispInfo->item.pszText, Message); } Example 2- LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR; if (pDispInfo->item.mask & LVIF_TEXT) { TCHAR *Message; Message=MyGetTextBuffer(); //This returns a buffer with the text to display pDispInfo->item.pszText=Message; } My question is: In example 1, can I assume that the buffer pItem->pszText will have enough space for my text and that it will be freed when no longer necessary? In example 2, am I supposed to free the memory in pItem->pszText? If so, when is it safe for me to do it? Or what is the correct way to do it without memory leaks? Thanks
|
Pages: 1 Prev: ID SHGetSpecialFolderPath in cab files? Next: Add Spin to Edit, (No MFC) |