리스트 박스 컨트롤 속성에 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 영역 밖에 생긴다는 것이다... -_ ㅡ
'개발 관련 > Windows 개발' 카테고리의 다른 글
CListCtrl 포커스 해제시 selection color 유지하기 (0) | 2014.01.03 |
---|---|
Visual studio 디버그 모드와 릴리즈 모드의 차이 (0) | 2013.04.15 |
Installshield 스크립트 팁 (0) | 2013.03.18 |
IE10 설치시 Visual studio 2010 스크립트 디버거 연결 실패 문제 (2) | 2013.03.17 |
Visual studio 찾기 및 바꾸기 wildcards option (0) | 2013.01.16 |
자료 저장소청년코더 님의 블로그입니다.