自定义 CHeaderCtrl , 宽度无法设定了

ima_zhan 2011-08-22 09:04:39
如题

在自定义的列表控件里加了这个
void CCmdInfoList::PreSubclassWindow()
{
// TODO: Add your specialized code here and/or call the base class
CListCtrl::PreSubclassWindow();

CHeaderCtrl *pheaderctrl = GetHeaderCtrl();
m_Header.SubclassWindow(pheaderctrl->GetSafeHwnd());
}

自定义的表头控件加了这个函数

LRESULT OnLayout(WPARAM wparam, LPARAM lparam);

ON_MESSAGE(HDM_LAYOUT, OnLayout)

LRESULT CMyHeaderCtrl::OnLayout(WPARAM wparam, LPARAM lparam)
{
LRESULT lResult = CHeaderCtrl::DefWindowProc(HDM_LAYOUT, 0, lparam);
HD_LAYOUT &hdl = *(HD_LAYOUT*)lparam;

RECT *prc = hdl.prc;
WINDOWPOS *pwpos = hdl.pwpos;

int nHeight = 50;
pwpos->cy = nHeight;
prc->top = nHeight;
return lResult;
}

表头的高度是改变了,但是宽度每次运行都是0,不是按我InsertColumn时设定的宽度显示,请gs指教
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qhzq1987 2013-04-12
  • 打赏
  • 举报
回复
能不能说清楚 点撒。。。
ima_zhan 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dd4979590 的回复:]
不要用分数诱惑我,我抵挡不住,哈哈
[/Quote]
那就把分给你了,哈哈
dd4979590 2011-08-22
  • 打赏
  • 举报
回复
不要用分数诱惑我,我抵挡不住,哈哈
ima_zhan 2011-08-22
  • 打赏
  • 举报
回复
原来是重载InsertColumn出问题了,问题解决,哪位筒子来接个分啊

15,979

社区成员

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

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