2009-12-04 3 views
0

S etItemText(item,subItem,string)을 호출 할 때 subItem의 값이 설정된 열의 수보다 큰 경우 오류가 발생하지 않는 것 같습니다. 그러나 GetItemText를 호출 할 때 데이터를 다시 얻지 못하는 것 같습니다. 그게 올바른지 확인하고 싶었고 SetItemText를 사용하여 일부 사용자 지정 데이터를 더 편리하게 추가 할 수는 없었습니다. SetItemData를 사용하면 메모리를 할당 해제하는 등의 작업을해야합니다.MFC CListCtrl - 존재하지 않는 열에 대한 하위 항목 텍스트 설정?

답변

1

SetItemData 방법에 의지하여이 될 것이라고 생각하지만 메모리 할당/할당 해제를 두려워 할 것 같습니다.
클래스를 자신의 클래스 (예 : CMyListCtrl)로 재정의하지 않는 이유는 무엇입니까? 예 : SetItemCustomData 메서드를 사용하고 모든 메모리 문제를 처리하므로 실제 사용자 인터페이스 코드에서 처리 할 필요가 없습니다.

+0

물론 항목을 제거 할 때 사용되는 방법을 재정의해야합니다. 이것은 분명히 '올바른'답변이지만,이 경우 코드에서 실제로 깔끔하게 만들었 기 때문에 실제로 수행 한 작업은 너비가 0 인 열을 추가하는 것이 었습니다 ... 열의 크기가 조정되는 것을 막지 못했습니다. 언젠가 데이터를 보는 것이 유용 할 수도 있지만, 할 수 있습니다. –

0

텍스트를 다시 가져올 수 있는지 확인 했습니까?

작동하는 경우에도 나는 이런 종류의 솔루션을 절대 피할 수 있습니다. 다음 버전의 Windows에서 계속 작동하는지 예측할 수 없습니다. 또는 이전의 모든 작업에서 작동하는 경우에도 마찬가지입니다.

SetItemData()를 사용하고 메모리를 확보하는 것을 잊지 마십시오!

관련 문제