自定义 CHeaderCtrl , 宽度没法设定了
自定义 CHeaderCtrl , 宽度无法设定了
如题
在自定义的列表控件里加了这个
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指教
------解决方案--------------------
不要用分数诱惑我,我抵挡不住,哈哈
如题
在自定义的列表控件里加了这个
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指教
------解决方案--------------------
不要用分数诱惑我,我抵挡不住,哈哈