자료 저장소

리스트 박스 컨트롤 속성에 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 영역 밖에 생긴다는 것이다... -_ ㅡ

댓글 로드 중…

최근에 게시된 글