티스토리 뷰

컴퓨팅/프로그래밍

OnDrawItem() 주의점

에어버스 2012. 6. 14. 17:51

ListCtrl 구조

CListCtrl::InsertItem(nRow, strName); // 이름
CListCtrl::SetItemText(nRow, 1, strScore); // 성적

========================================================

성적이 변경될때 OnDrawItem() 자동 호출되게하려면

CListCtrl::SetItemText(nRow, 1, strScore); // 성적
CListCtrl::RedrawItems(nRow, nRow);

또는,

CListCtrl::SetItemText(nRow, 1, strScore); // 성적
CListCtrl::SetItemText(nRow, 0, strName); // 이름 

이름만 변경하면 OnDrawItem() 호출 안된다.

첫번째 컬럼은 변화없어도 만약, 다른 컬럼의 데이타가 변경시 OnDrawItem() 호출되게 하려면,

해당컬럼을 변경하고 반드시 첫번째 컬럼을 덮어 써야만 한다. (순서는 상관없는듯한데, 해당 컬럼 변경 후 첫번째 컬럼을 맨 나중에 덮어써야 하는게 순서가 맞을듯)

OnDrawItem() 은 리스트컨트롤의 첫번째 컬럼(이름)이 변경되는 경우에만 호출된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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