자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 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 사용량 증가되지 않고 제대로 동작하네요.. @_@;;;