怎么设置listctrl的列宽度根据该列的数据宽度自动调整

怎么设置listctrl的列宽度根据该列的数据宽度自动调整,第1张

如何设置listctrl的列宽度根据该列的数据宽度自动调整?

listctrl的列数已知的情况下,每列的宽度根据该列的数据宽度自动调整。

那你必须要先得到数据的宽度GetTextExtentExPoint()然后再利用该宽度来调整CListCtrl的列宽CListCtrl::SetColumnWidth()

m_list.InsertColumn(0, _T("1"), LVCFMT_CENTER, 60)

m_list.InsertColumn(1, _T("2"), LVCFMT_CENTER, 60)

m_list.InsertColumn(2, _T("3"), LVCFMT_CENTER, 80)

m_list.InsertColumn(3, _T("4"), LVCFMT_CENTER, 75)

m_list为关联变量

使CListctrl控件的列宽度固定:

void CPList::OnHdnItemchanging(NMHDR *pNMHDR, LRESULT *pResult)

{

LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR)

// TODO: Add your control notification handler code here

NMHEADER *pHdr = (NMHEADER*)pNMHDR

CHeaderCtrl *pHead = GetHeaderCtrl()

pHdr->pitem->mask |= HDI_WIDTH

switch(pHdr->iItem)

{

case 0://第一列

pHdr->pitem->cxy = 33

break

case 1://第二列

pHdr->pitem->cxy = 250

break

case 2://第三列

pHdr->pitem->cxy = 145

break

}

*pResult = 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11270162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存