본문 바로가기

MFC 인터페이스

리스트 컨트롤 스크롤 이동

 
 
// 현재 스크롤 위치 추출
int iScrollPos = listctrl.GetScrollPos(SB_VERT);

// 작업 코드
........
// 리스트의 현재 행 추출
int iNum(-1);
POSITION pos = listctrl.GetFirstSelectedItemPosition();
iNum = listctrl.GetNextSelectedItem(pos);
........

// 스크롤 움직이기
CRect ref;
listctrl.GetItemRect(0,ref,LVIR_BOUNDS);
CSize szHeight(0,ref.Height() * iScrollPos);
listctrl.Scroll(szHeight);
listctrl.SetScrollPos(SB_VERT, iScrollPos, FALSE);

// 현재 행 선택
if(iNum >= 0)
{
// 먼저 현재 선택상태를 해제합니다
m_list_Immun_Buff.SetItemState( -1, 0, LVIS_SELECTED|LVIS_FOCUSED );
// 원하는 아이템을 선택합니다
m_list_Immun_Buff.SetItemState(iNum, LVIS_FOCUSED | LVIS_SELECTED, LVIS_FOCUSED | LVIS_SELECTED);
// 선택된 아이템을 표시합니다
m_list_Immun_Buff.EnsureVisible(iNum, false);
// 리스트 컨트롤에 포커스를 맞춥니다
m_list_Immun_Buff.SetFocus();
}

 

'MFC 인터페이스' 카테고리의 다른 글

운영체제 32bit 64비트 확인  (0) 2013.10.20
파일 드로그앤 드롭 이벤트 처리  (0) 2013.10.20
MFC 몇가지 코드  (0) 2013.10.19
디비 연동  (0) 2013.07.09
리스트 컨트롤 선택된 객체 삭제 하기  (0) 2013.07.05