VC CListCtrl 第一列列宽自适应
原文链接: http://www.cnblogs.com/sephil/archive/2011/04/03/2004384.html
今天用VC写工具的时候用到CListView,并且ListCtrl的第一列需要自动拉伸,以占满空白区域
Delphi做这个设置是很容易的,只要将Column的AutoSize设置为True就可以了
不过VC/SDK的AutoSize其实是根据Item的文本长度来自动设置Column Width,跟我的要求不符,只好自己实现了
其实很简单,就是觉得麻烦...
void CMyView::AdjustColumnWidth()
{
RECT rc;
CListCtrl& list = GetListCtrl();
CHeaderCtrl* pHeader = list.GetHeaderCtrl();
if (!pHeader)
return;
// 客户区域
list.GetClientRect(&rc);
int nColCount = pHeader->GetItemCount();
// 去掉其他列占用的宽度
for (int i = 1; i < nColCount; i++)
{
rc.right -= list.GetColumnWidth(i);
}
// 去掉滚动条占用的宽度
SCROLLBARINFO sbi;
if (list.GetScrollBarInfo(OBJID_VSCROLL, &sbi))
{
rc.right -= sbi.rcScrollBar.right - sbi.rcScrollBar.left;
}
// 修改列宽
list.SetColumnWidth(0, rc.right > rc.left ? rc.right - rc.left : LVSCW_AUTOSIZE_USEHEADER);
}
使用方法:在OnSize消息中调用一下AdjustColumnWidth就好了
void CMyView::OnSize(UINT nType, int cx, int cy)
{
CListView::OnSize(nType, cx, cy);
if (GetListCtrl().GetSafeHwnd())
AdjustColumnWidth();
}
VC CListCtrl 第一列列宽自适应相关推荐
- el-table某列的列宽自适应,其他列按比例分配。
情景一:例如首列按照内容自适应展开,其余列有各自的比例. 注意点: 给需要自适应展开的列加 :width="flexColumnWidth"计算方法 就可以自适应展开 需要给余下所 ...
- el-table列宽自适应;el-table表格的列根据内容自动撑满;el-table内容换行问题;
原文链接 重点就一个方法 :width="flexColumnWidth('date',tableData)" 第一个参数是这个列的字段 第二个参数是这个表格的数据 只需要给对应的 ...
- elementui表格宽度适应内容_elementui表格中的列怎么实现自适应列宽
elementui表格中的列怎么实现自适应列宽 发布时间:2020-12-28 14:58:04 来源:亿速云 阅读:53 作者:Leah 这期内容当中小编将会给大家带来有关elementui表格中的 ...
- 左列定宽,右列自适应
利用float+margin HTML代码 <body> <div id="left">左列定宽</div> <div id=" ...
- 关于某题左列定宽右列宽度自适应布局的学习
今天群里有人做题发了一道题,由于最近在学习flex布局,就不禁研究了起来... 题目如下: 已知HTML结构如下,以下哪些CSS可以实现左列定宽(100px)右列宽度自适应的布局? <div c ...
- bootstraptable列宽自适应内容_多列列表框行高和列宽的自适应调整
LabVIEW:2015 在使用多列列表框(Multicolumn Listbox)时,有时不同列显示的内容长度不一致,为了显示更加美观,并节省界面显示空间,需要实现多列列表框的行高和列宽的自适应调整 ...
- Hutool工具类ExcelWriter导出excel列宽自适应问题解决
前言: 因为项目中需要使用到ExcelWriter导出excel的列宽自适应,下面为解决该问题的经过,希望可以对遇到同样问题的开发者有所帮助. 一.通过查询Hutool官方的api文档发现autoSi ...
- CSS使用浮动属性和边距设计3行3列定宽的布局实例
CSS使用浮动属性和边距设计3行3列定宽的布局 下面使用CSS的浮动属性和边距属性设计一个简单地3行3列并且是固定宽度的布局页面. 实例 设计步骤如下: 1. 制作3行3列定宽布局的XHTML部分.源 ...
- 成功解决pandas读取文件中不读取第一索引列
成功解决pandas读取文件中不读取第一索引列 目录 解决问题 解决思路 解决方法 解决问题 解决pandas读取文件中不读取第一索引列 解决思路 pandas输出时会默认增加一列索引列 解决方法 添 ...
最新文章
- hadoop优化之操作系统优化
- 10.5 QQ 支持
- 《STL源码剖析》学习-- 1.9-- 可能令你困惑的C++语法2
- python linux 优化_Linux性能优化(一)
- 设置单元格填充方式_单元格的选择及设置单元格格式
- ACCESS中不支持left join解决方案
- 数据结构--队列Queue--链式队列、顺序队列
- 学3D建模,工作后薪资一般是多少
- vector与array之间转换,向量与数据之间转换
- matlab程序员得浪漫,程序员的浪漫:教你如何用MATLAB向女生表白
- 第四十章 Caché 变量大全 $ZREFERENCE 变量
- 3D动画效果照片墙demo
- 软件开发:API和SDK的区别与联系
- 微信发朋友圈/评论/点赞/搜索/购物车的测试点
- 类和对象常见题目详解
- 最短路及最短路计数(SPFA)
- Android制作粒子爆炸特效
- 经典残局html,微信欢乐斗地主3月残局1-100关全攻略 3月残局图文攻略大全
- python 对象转字典及序列化对象相关问题,__dict__!!!!必看,多坑
- 一元多项式相加(单链表c艹)