|
for(i=0; i<numFiles; i++)
{
ListView1->Items->Item[i]->Selected = true;
ListView1->Scroll(0,ListView1->Selected->DisplayRect(drBounds).Top-ListView1->TopItem->DisplayRect(drBounds).Top);
Repaint();
}
제가 사용하고 있는 루틴입니다. 참고해 보시기 바랍니다.
그럼, 좋은 결과 있으시기를...
김도훈 님이 쓰신 글 :
: report 형식의 리스트 뷰에서 프로그램이 진행 될수록 row 가 추가 되는 데요.....row 가 추가 되면서 스크롤이 될때 마지막에 생긴 row 가 스크롤 되는 화면 가장 아래쪽에 오도록 하는 방법좀 알려 주세요....
:
: 좀더 자세히 말씀 드리면 처음 시작 하면 화면에 보이는 마지막 row 까지 값이 추가 될때는 그냥 추가가 되다가 화면 마지막 row가 추가가 끝나고 그다음 row가 추가 되면 그 row의 높이 만큼만 스크롤이 움직이면 좋겠네요....그래서 스크롤이 계속 되어도 화면에는 값이 채워진 화면만 보여지는 방법을 알고 싶네요....
:
: // 여기서 루프가 돌면서 row에 값이 채워 집니다..
:
: MainForm->listview1->Scroll(0,MainForm->lvTestResult->Selected->DisplayRect(drBounds).bottom-MainForm->lvTestResult->Selected->DisplayRect(drBounds).top);
: ==================================================================================================
: MainForm->listview1->Scroll(0,MainForm->lvTestResult->Selected->DisplayRect(drBounds).top-MainForm->lvTestResult->TopItem->DisplayRect(drBounds).top);
:
: 여기서 drBounds이 값이 채워질 로우 한줄 즉 list를 나타내는 것이 맞나요?
: 이렇게 저렇게 해봤는데 안되네요.....-_-a
|