개발 관련/Windows 개발
CListBox 가로 스크롤 만들기
청년코더
2014. 2. 26. 22:15
리스트 박스 컨트롤 속성에 Horizontal Scroll 속성을 True로 변경한다.
아래 코드를 AddString을 사용하는 부분 아래에 추가한다.
CDC* pDC = m_cListBox.GetDC(); CFont* pFont = m_cListBox.GetFont(); CFont* pOldFont = pDC->SelectObject(pFont); CSize sz = pDC->GetTextExtent(szMessage); sz.cx += 3 * ::GetSystemMetrics(SM_CXBORDER); if(sz.cx > nListWidth) { nListWidth = sz.cx; m_cListBox.SetHorizontalExtent(nListWidth); } pDC->SelectObject(pOldFont); m_cListBox.ReleaseDC(pDC);
일반적으로 for문을 사용해서 모든 list item의 가장 큰 값을 찾아내지만, 멤버변수로 item을 추가할 때,
값을 저장해놓으면 루프를 사용하지 않아도 된다.
중요한건, 가로 스크롤은 Listbox 영역 밖에 생긴다는 것이다... -_ ㅡ