자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
			C++ Builder			TListView Virtual 모드(?)에 대한 질문입니다.
		
		
			2016.11.22 11:33		
		
	
	
	
		
	
	
				 
안녕하세요~ 
TListView 에 대해서 해결을 못하고 있는 부분이 있어서 질문을 드려봅니다. 
C++ Builder 10.1 Berlin 스타터 에디션 사용중이구요... 
작업 OS 는 Windows 10 (64비트) 입니다. 
TListView 를 Virtual 모드로 사용하려고 하는데요.. 
일단 TListView 컴포넌트의 Owner Data 속성을 true 로 변경을 하고~ 
OnData 이벤트에 대해서 아래와 같이 처리를 해두었습니다. 
--------------------------------------------------------- 
void __fastcall TMainForm::ListView_OnData(TObject *Sender, TListItem *Item) 
{ 
    Item->Caption = Item->Index; 
//    Item->SubItems[0].Text = Item->Index; 
} 
--------------------------------------------------------- 
ListView->Items->Count = 100; 정도로 해뒀구요... 
OnData 이벤트 처리부에서... 
Item->Caption 에만 값을 넣을 때는 별다른 문제가 없지만 
Item->SubItems[0].Text 에 값을 넣게되면 CPU 사용량이 증가하는 문제가 발생합니다..;; 
( ListView 의 데이터가 계속 깜빡깜빡 거리는...) 
ListView 에 들어가는 Item 의 개수에 상관없이~ 
SubItems[0] 부분에 데이터를 넣기만 하면 이런 문제가 발생하는데요... 
어떤 부분을 더 살펴봐야 될까요..? @_@;;; 
 
 
 
 
[ Caption 에만 값을 넣은 경우 ]

 
[ SubItems[0] 에 값을 넣은 경우 ]

 
			
	
	
	
	
	
	
C++ Builder TListView Virtual 모드(?)에 대한 질문입니다.
2016.11.22 11:33
안녕하세요~ 
TListView 에 대해서 해결을 못하고 있는 부분이 있어서 질문을 드려봅니다. 
C++ Builder 10.1 Berlin 스타터 에디션 사용중이구요... 
작업 OS 는 Windows 10 (64비트) 입니다. 
TListView 를 Virtual 모드로 사용하려고 하는데요.. 
일단 TListView 컴포넌트의 Owner Data 속성을 true 로 변경을 하고~ 
OnData 이벤트에 대해서 아래와 같이 처리를 해두었습니다. 
--------------------------------------------------------- 
void __fastcall TMainForm::ListView_OnData(TObject *Sender, TListItem *Item) 
{ 
    Item->Caption = Item->Index; 
//    Item->SubItems[0].Text = Item->Index; 
} 
--------------------------------------------------------- 
ListView->Items->Count = 100; 정도로 해뒀구요... 
OnData 이벤트 처리부에서... 
Item->Caption 에만 값을 넣을 때는 별다른 문제가 없지만 
Item->SubItems[0].Text 에 값을 넣게되면 CPU 사용량이 증가하는 문제가 발생합니다..;; 
( ListView 의 데이터가 계속 깜빡깜빡 거리는...) 
ListView 에 들어가는 Item 의 개수에 상관없이~ 
SubItems[0] 부분에 데이터를 넣기만 하면 이런 문제가 발생하는데요... 
어떤 부분을 더 살펴봐야 될까요..? @_@;;; 
[ Caption 에만 값을 넣은 경우 ]

[ SubItems[0] 에 값을 넣은 경우 ]

 
                                            

 
								 
				
자문자답이네요..;;
OnData 처리부에서 SubItems 에 값을 넣는 방식이 잘못되었나봅니다..;;
---------------------------------------------------------
void __fastcall TMainForm::ListView_OnData(TObject *Sender, TListItem *Item)
{
Item->Caption = Item->Index;
Item->SubItems->Add(Item->Index);
}
---------------------------------------------------------
이렇게 수정하니까 CPU 사용량 증가되지 않고 제대로 동작하네요.. @_@;;;