高分,关于ListCtrl的CustomDraw问题

yanyanv 2008-12-04 10:45:18
1. 希望对SmallIcon风格的listctrl修改label为多行且左对齐显示,如何修改?

2. 希望对List风格的listctrl修改label显示位置为图标的正下方显示,怎样修改?
...全文
181 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanyanv 2008-12-11
  • 打赏
  • 举报
回复
找到不能响应CustomDraw消息的原因了,因为我将这个控件创建到了一个DLL中,

而这个控件的父窗口是在应用程序的View中,DLL和exe是有相互独立的HandleMap,

OnNotify这个消息的原理是先发送给父窗口,在回床给子窗口,这个映射过程要从

父窗口的HandleMap查,但是父窗口的HandleMap中是没有子窗口的HandleMap的,

所以我的窗口一直都无法接到这个消息。

可是如何解决呢?
yanyanv 2008-12-08
  • 打赏
  • 举报
回复
现在已经知道该如何处理这两种模式了。

只是有个问题不是很清楚,我现在有个窗口类用来显示自画的内容,继承自CListCtrl类,

添加了CustomDraw的消息映射为ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)以及

添加了它的消息定义为:afx_msg void OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult);

编译通过,可是我的函数void CThumbnailDisplayWnd::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)

接收不到消息,就是说运行的时候进不去这个函数,所以实际还是不能自画,

不知道是什么原因,难道是因为消息的定义是在我在创建这个窗口的之前进行的?

scq2099yt 2008-12-05
  • 打赏
  • 举报
回复
ListCtrl参见下面文章:
http://www.joyvc.cn/GuiAndWindows/GuiAndWindowsGroup00181.html
奉海 2008-12-05
  • 打赏
  • 举报
回复
用一张图片把item撑起来.
Tinary3v0 2008-12-04
  • 打赏
  • 举报
回复
你要的效果有点超出现在ListCtrl的范围了 最好是继承ListCtrl重新写一个类 自己绘制
奉海 2008-12-04
  • 打赏
  • 举报
回复
Up
想listctrl玩那么多花样确实不好搞,
我曾经一生气就在listctrl的OnPaint搞东东了,
呵呵//
healer_kx 2008-12-04
  • 打赏
  • 举报
回复
DrawText本来就支持对称text-align的方式啊,这个不是问题吧?
word-wrap可能需要你自己处理一下,word-wrap向来都是一个让人头疼的事情。
yanyanv 2008-12-04
  • 打赏
  • 举报
回复
我现在就是继成CListCtrl的一个窗口类,
刚才试了一下,貌似DrawText是可以解决一定程度的问题,
的确是左对齐的,可是ICON之间的间距不合适,
用了ListView_SetIconSpacing函数调整Item之间的距离,
发现对Normal显示模式不起作用,有谁知道吗?
ilovedrv 2008-12-04
  • 打赏
  • 举报
回复

15,979

社区成员

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

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