msdn上说 ws_hscroll属性 在窗体创建好之后是不能去掉的,所以 modifystyle、setwindowlongptr之流的就别想了,然后还有一种办法 是在onnccalcsize 里面调用 showscrollbar(SB_BOTH,FALSE);这种方法确实可行,不过似乎和我想要的逻辑不太一样,这个是当窗体位置发生改变重新计算位置,这个showscrollbar函数放在其他地方就不起作用,哪位大佬讲一讲为什么啊,我想要主动隐藏滚动条,而不是只能放在onnccalcsize里
调试欢乐多
窗口第一次 创建成功后 显示 也 是 这样如:
void CMaxListCtrlDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if(nType==SIZE_MAXIMIZED)
{
afxDump << nType << "\n";
}
if(IsWindow(m_ctrlList))
{
CRect rc;
GetClientRect(&rc);
// 修改列宽
m_ctrlList.SetColumnWidth(1, rc.Width());//LVSCW_AUTOSIZE_USEHEADER);// -2
m_ctrlList.MoveWindow(&rc);
m_ctrlList.ShowScrollBar(SB_HORZ, FALSE);// must after MoveWindow
}
// TODO: Add your message handler code here
}
OnSize(UINT nType, int cx, int cy)
m_ctrlList.ShowScrollBar(SB_HORZ, FALSE);// must after MoveWindow