CListBox 自绘.

你妹的特盗不 2014-02-28 03:03:04
加上 LBS_OWNERDRAWFIXED风格后,
自绘类重写函数 virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
就可以实现此类控件的自绘.

使用下面函数可以改变控制的背景色或图片
afx_msg BOOL OnEraseBkgnd(CDC* pDC);

现在遇到情况是,当ListBox里面是空的,上面的代码改变不了控件的背景色.


...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
你妹的特盗不 2014-02-28
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); 先fill :lpDrawItemStruct-》rc 为 背景色。
刚才试了下,当listbox控件里面没有内容时,要强制在 DrawItem里面把整个client area填充为背景色. 如果有内容,就不能再填充,不然会有问题
schlafenhamster 2014-02-28
  • 打赏
  • 举报
回复
DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); 先fill :lpDrawItemStruct-》rc 为 背景色。

15,980

社区成员

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

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