일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 보드게임
- 윈윈전략
- 상호링크
- 고스톱
- 틀린그림찾기
- 영어단어게임
- MAME
- holdem
- 써치아이
- 서치아이
- 프로그램 외주
- 맞고
- 맞고게임
- 틀린그림 찾기
- 카일레라서버
- 옥션소송
- 포커게임
- 윈윈
- 온라인게임
- 카일레라
- 게임 외주
- 옥션해킹
- 포커
- 홀뎀
- 영어단어
- 프로그램 개발
- Mame32
- 판매
- 티스토리 초대장
- 게임 개발
- Today
- Total
kyuseo의 게임 프로그래밍
CListCtrl::SetTopIndex리스트콘트롤 스크롤 하기 본문
개요.. |
리스트 콘트롤(CListCtrl)은 GetTopIndex() 함수는 있지만 반대로 SetTopInex() 함수가 존재하지 않습니다.
SetTopInex 와 유사하게 작동되는 코드를 만들어 봅니다.
코드 |
CWnd 에 존재하는 Scroll 함수를 이용하면 SetTopInex와 유사한 코드를 만들 수 있습니다.
int nOldItem = m_nItem; int nScroll = m_lc.GetTopIndex();
m_lc.SetRedraw( FALSE ); m_lc.DeleteAllItems();
for( int i = 0; i < m_aQResult.GetSize(); i++ ) { QRESULT& r = m_aQResult[i];
m_lc.InsertItem( i, r.s[0] );
for( int j = 0; j < 20; j++ ) { m_lc.SetItemText( i, j, r.s[j] ); }
m_lc.SetItemText( i, 13, (r.n[11]==0||r.n[11]==5) ? "X" : "O" ); m_lc.SetItemText( i, 14, (r.n[12]==0||r.n[12]==5) ? "X" : "O" ); }
m_lc.SetRedraw( TRUE ); m_lc.SetItemState( nOldItem, LVIS_SELECTED, LVIS_SELECTED ); m_lc.Scroll( CSize( 0, (nScroll)*19) );
|