自己写个list控件重绘有关问题

自己写个list控件重绘问题
由于系统的list功能不太够想自己写一个list 控件
但是遇到了 拖动滚动条时 图像重叠问情况。。

大概思路

我的list是继承 Cwnd

 listitem 也是继承的Cwnd

然后我在list的wnd上通过create来绘制 listitem (没有在onpaint下去做,)

现在问题是:
当list 滚动条拖动的时候出现了图像重叠.
我在list 的滚动条函数内调用updatewindow / Invalidate 都无法清空

只有在list 的上一层(容器) 去调用Invalidate 才能实现清空

按照道理来说 mfc自带的listctrl 都不需要上一层去调用

自己写个list控件重绘有关问题
有人遇到类似情况么?

------解决思路----------------------
要在onpaint 下去做, 并且要考虑 滚动条位置。
------解决思路----------------------
t通常是 OwnerDraw (CustomDraw)

派生时 是 DrawItem

Item 不是 继承 CWnd , listctrl 是。