MFC 프로그래밍을 하다 보면 리스트, 트리 등의 컨트롤에서 스크롤바를 다는 경우가 있다. 하지만 해당 컨트롤의 속성에서는 기본으로 스크롤에 대한 속성만 지원하고, 세부적으로 수평, 수직 스크롤을 분리하지 않는다.

그럴 경우 때에 따라 원하지 않게 수평스크롤이 나오는 경우가 있다. 분명 해당 컨트롤의 영역을 벗어나지 않았음에도 불구하고 자꾸만 존재하는 것이다. 이럴 경우 다음의 예를 활용하여 해결하기 바란다. 다음의 예는 스크롤 기능이 기본으로 "True"가 설정된 상황에서 스크롤바 전체 혹은 일부를 제거하는 코드이다.




ModifyStyle(TVS_NOHSCROLL, 0);   // or TVS_NOVSCROLL

or 

ModifyStyle( WS_HSCROLL, 0 );     // or WS_VSCROLL 

or 

::ShowScrollBar(m_tree.GetSafeHwnd(), SB_HORZ, FALSE);   // or SB_VERT

or 

ModifyStyle(0, 0x8000);
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Proneer

댓글을 달아 주세요


티스토리 툴바