In my OnGetDispInfo, how do I get the checkbox to show?
Currently, I only see white-space where I'd expect a checkbox (checked or
unchecked) to show up.
I'm using VS.NET 2003.
Here's my OnGetDispInfo(...)
{
NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
LV_ITEM* pItem = &(pDispInfo)->item;
if (pItem->mask & LVIF_TEXT) //valid text buffer?
{
CString str;
CEINItem* pei = m_arrEINs.GetItem(pItem->iItem);
switch(pItem->iSubItem)
{
case CEINItem::EIN:
str.Format(_T("%ld"), pei->GetEIN());
_tcscpy(pItem->pszText, str);
break;
case CEINItem::EMPLOYER:
_tcscpy(pItem->pszText, pei->GetEmployer());
break;
}
}
if (pItem->mask & LVIF_IMAGE) //valid image?
pItem->iImage = 2; // Show checked.
*pResult = 0;
}
My OnInitDialog in main class:
mylistctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP
| LVS_EX_CHECKBOXES);
mylistctrl.InsertColumn(0, _T("EIN"), LVCFMT_RIGHT);
mylistctrl.InsertColumn(1, _T("Employer"), LVCFMT_LEFT);
Later, I add three items to the backing data and call
mylistctrl.SetItemCountEx(3);
I see the three items, but no checkbox images.
Any thoughts?