菜鸟问:
我子类化了CListbox,想在onpaint中重绘listbox控件...
但是一重载onpaint(),listbox中插入的文字就不见了...
要用鼠标点击该项的位置...文字才会出现...怎样解决辨别是非呢?

解决方案 »

  1.   

    为什么是OnPaint,应该是DrawItem函数,到www.vckbase.com找点例子看吧
      

  2.   

    同意楼上看法重载控件一般多不是重载OnPaint,而是一些重载保留函数
    比如DrawItem、MeasureItem之类
      

  3.   

    我刚开始学重绘的知识...
    发现DrawItem也有三个不同的消息~
    DrawItem
    =WM_DrawItem
    WM_DrawItem
    能不能简单的说说它们的区别呢~~~郁闷~
      

  4.   

    DrawItem是VC提供的虚拟函数
    WM_DRAWITEM:当子控制有ownerdraw风格时,子控制需要重绘就给父窗口发送WM_DRAWITEM消息,由子控制拥有者绘制
      

  5.   

    子类化ListBox,在其WM_PAINT里重绘ListBox是没有问题的,但我们一般不需要那么底层的处理,OwnerDraw足够了。
    ListBox也是窗口,就是不知道windows内部是不是通过WM_PAINT来绘制ListBox的默认界面的?