2009-10-22 3 views
1

컨테이너에 배치 할 데이터 스트림이 있습니다. 이 컨테이너는 고정 크기이거나 런타임에 특정 크기로 동적으로 제한됩니다. 후자가 바람직 할 수 있습니다. 컨테이너가 가득 차면"동적"데이터가 포함 된 wxVListBox

는, 가장 오래된 데이터를 제거한다.

디스플레이를 완전히 제어해야하므로 wxVListBox을 사용하여이 데이터를 표시하려고합니다. 그러나 문제가 있습니다 : OnDrawItem에 대한 호출은 컨테이너가 가득 차면 각 호출이 OnDrawItem이 이동하는 데이터에 액세스 할 것이라는 의미가 아니므로 누락 된 요소가있는 인접하지 않은 디스플레이가됩니다.

네이티브 배열과 같은 색인을 생성하는 모든 컨테이너에서이 사실은 OnDrawItem에 의해 필요합니다.

나는, 반복자 색인을 사용하여 표준 : :지도에 배열과 같은 색인을 시뮬레이션 할 수있는 키를 순차적 정수의 경우, 모든 항목이 주문되고지도는 아주 쉽게 정리 될 수 있지만, 그 것 같아 비효율적 인 해킹.

어떻게 해결할 수 있습니까? 내가 생각하지 못했던 다른 아이디어 나 용기?

답변

1

OnDrawBackground 내에 전체 컨테이너 상태를 느리게 관리하는 것이 가장 좋은 방법입니다. 그러면 UI 자체가 OnDrawItem에 대한 이후 호출에서 데이터를 정적으로 유지하고 양키를 컨테이너로 사용합니다.

+0

+1 자신의 조사 결과를 공유하십시오. –