listbox重载问题
我想重载listbox,类的设计是这样的:
void CListBoxEx::PreSubclassWindow()
{
// TODO: 在此添加专用代码和/或调用基类
ModifyStyle(NULL, LBS_OWNERDRAWFIXED);
CListBox::PreSubclassWindow();
}
void CListBoxEx::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: 添加您的代码以绘制指定项
ASSERT(lpDrawItemStruct);
CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect rect = lpDrawItemStruct->rcItem;
CString strItem;
GetWindowText(strItem);
int nState = lpDrawItemStruct->itemState;
if (nState&ODS_SELECTED)
{
DrawItemBG(pDC, rect);
}
DrawText(pDC, rect, strItem);
}
为什么不能进入 DrawItem函数呢?