listbox重载问题

jaeson83 2009-09-01 11:21:28
我想重载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函数呢?
...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clxye 2010-11-18
  • 打赏
  • 举报
回复
上面纯属扯淡,你自己实现实际编个程序试试看!
我也为此问题苦恼...
Ghost90 2009-09-02
  • 打赏
  • 举报
回复
错了,把 sytles 里的 Owner Draw 选 fixed 下面的Has string 也打钩
Ghost90 2009-09-02
  • 打赏
  • 举报
回复
在界面上 listbox 控件的属性的 styles 里的Notify打钩

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧