列表控件CListCtrl如何使用CustomDraw消息设置行高?

qq_29720391 2019-05-16 03:58:26
求问,如何使用CustomDraw消息改变列表控件的行高呢?如果只是重绘该行并改变响应区域,但并不能改变CustomDraw消息中获取到的行需绘制的行数据会与实际不同,使绘制造成影响。请问该如何使用呢?
或者能否使重载的列表控件能互相独立地响应DrawItem消息和CustomDraw消息且不冲突,来通过使用DrawItem消息的方法改变行高呢?
...全文
150 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
待续_1006 2019-05-20
  • 打赏
  • 举报
回复
这篇文章好都是大佬们的精彩解答
qq_29720391 2019-05-20
  • 打赏
  • 举报
回复
嗯 最后我也只能不用CustomDraw消息而是用重载DrawItem的方法去重新重绘了。
schlafenhamster 2019-05-18
  • 打赏
  • 举报
回复
void CListCtrlEx::MeasureItem(LPMEASUREITEMSTRUCT pMIS)
{
//*** The table list height
pMIS->itemHeight = m_nListHeight;//40
} // MeasureItem
schlafenhamster 2019-05-18
  • 打赏
  • 举报
回复
MEASUREITEM 要 Ownerdraw fixed
qq_29720391 2019-05-17
  • 打赏
  • 举报
回复
引用 6 楼 schlafenhamster 的回复:
DrawItem消息搭配CustomDraw 就用 DrawItem 即可
但是我已经用了CustomDraw来绘制了,就是为了它的方便性。我又不想再用DrawItem来进行全部过程的重绘,太费时间了。
schlafenhamster 2019-05-17
  • 打赏
  • 举报
回复
DrawItem消息搭配CustomDraw
就用 DrawItem 即可
Eleven 2019-05-17
  • 打赏
  • 举报
回复
CListCtrl派生类添加处理ON_WM_MEASUREITEM_REFLECT() 反射消息
hurryboylqs 2019-05-17
  • 打赏
  • 举报
回复
用字体来设置行高,创建一个适当大小的字体来SetFont,就可以改变行高了,然后CustomDraw的时候用自己的字体draw就行
zgl7903 2019-05-16
  • 打赏
  • 举报
回复
参考开源的 CGridCtrl
qq_29720391 2019-05-16
  • 打赏
  • 举报
回复
引用 3 楼 schlafenhamster 的回复:
https://blog.csdn.net/u012252959/article/details/70059415
我有使用过DrawItem消息搭配CustomDraw来使用,但绘制出来的数据是有异常的。
qq_29720391 2019-05-16
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
CustomDraw消息 是 用户 绘一半 ,控件 绘 一半, 所以 CustomDraw 不能 控制 行高。
那我如果要改变Item行的高度该如何实现呢?如果只是自己重绘的话,在使用滚动条时,CustomDraw消息获取到的行的数据会与预期的数据所不同。。会导致某些Item丢失。 这样该如何处理呢?
schlafenhamster 2019-05-16
  • 打赏
  • 举报
回复
CustomDraw消息 是 用户 绘一半 ,控件 绘 一半, 所以 CustomDraw 不能 控制 行高。

15,979

社区成员

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

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