ListBox的重绘问题~

狼夹势凶 2006-06-19 03:10:24
菜鸟问:
我子类化了CListbox,想在onpaint中重绘listbox控件...
但是一重载onpaint(),listbox中插入的文字就不见了...
要用鼠标点击该项的位置...文字才会出现...

怎样解决辨别是非呢?
...全文
225 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mopyman 2006-06-23
  • 打赏
  • 举报
回复
子类化ListBox,在其WM_PAINT里重绘ListBox是没有问题的,但我们一般不需要那么底层的处理,OwnerDraw足够了。
ListBox也是窗口,就是不知道windows内部是不是通过WM_PAINT来绘制ListBox的默认界面的?
mopyman 2006-06-23
  • 打赏
  • 举报
回复
DrawItem是VC提供的虚拟函数
WM_DRAWITEM:当子控制有ownerdraw风格时,子控制需要重绘就给父窗口发送WM_DRAWITEM消息,由子控制拥有者绘制
Featured 2006-06-21
  • 打赏
  • 举报
回复
同意楼上看法

重载控件一般多不是重载OnPaint,而是一些重载保留函数
比如DrawItem、MeasureItem之类
狼夹势凶 2006-06-21
  • 打赏
  • 举报
回复
我刚开始学重绘的知识...
发现DrawItem也有三个不同的消息~
DrawItem
=WM_DrawItem
WM_DrawItem
能不能简单的说说它们的区别呢~~~郁闷~
Kudeet 2006-06-20
  • 打赏
  • 举报
回复
为什么是OnPaint,应该是DrawItem函数,到www.vckbase.com找点例子看吧
狼夹势凶 2006-06-20
  • 打赏
  • 举报
回复
自己顶...
狼夹势凶 2006-06-19
  • 打赏
  • 举报
回复
怎样解决问题呢?

15,979

社区成员

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

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