如何去掉或隐藏树视图控件的两个滚动条,但可响应消息滚动,难题挑战高手!!!300分
各位高手,我想去掉或隐藏CTreeCtl的两个滚动条,但仍然可用按钮等手段触发消息让其滚动。当然不用CTreeCtrl控件,用SDK实现也可以。
本人发现若一开始用
DWORD dwStyle = TVS_NOSCROLL;来去掉滚动,
之后无法令滚动条响应滚动消息。
若一开始不用TVS_NOSCROLL,后面无法实现去掉两个滚动条,只能去掉一个,
垂直SB_VERT 或 水平SB_HORZ.我用过许多去滚动条的方法,比如:
ShowScrollBar(m_tree->m_hWnd, SB_HORZ, FALSE);
ShowScrollBar(m_tree->m_hWnd, SB_VERT, FALSE);
ShowScrollBar(m_tree->m_hWnd, SB_BOTH, FALSE);
tree->ModifyStyle(TVS_NOSCROLL, NULL, NULL);
tree->ModifyStyle(WS_HSCROLL, NULL, NULL);
tree->ModifyStyle(WS_VSCROLL, NULL, NULL);
m_tree->ModifyStyle(0, ~WS_HSCROLL, 0);
m_tree->ModifyStyle(0, ~WS_VSCROLL, 0);
m_tree->ModifyStyle(0, ~WS_HSCROLL | ~WS_VSCROLL, 0);
DWORD dwCurStyle = GetWindowLong(m_tree->m_hWnd, GWL_STYLE);
SetWindowLong(m_tree->m_hWnd, GWL_STYLE, dwCurStyle & ~WS_HSCROLL);
SetScrollRange(m_tree->m_hWnd, SB_HORZ, 0, 0, FALSE);
等等,都不行。
是否方法不对?或者要用其他的方法处理?请赐教。300分,多贴送分。