C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6239] Re:[질문]Virtual List View?
방태윤 [] 3225 읽음    2001-03-21 19:58
그기능이 왜 Virtual 인지는 모르겠지만
OwnerData 를 true 로하고 items->Count 에 값을 넣어주면
ondata 이벤트가 발생됩니다.
이 이벤트의 index 값을 근거로 거기에 맞는 데이타를 넣어주는 방식인데요..

이방법을 쓰는이유는 통상 add()로 데이터를 넣게되면 약 2000 개이상 들어가면
상당이 시간이 많아걸리죠..
근데 이와같은 방법을 쓰면 화면에 표시될 데이터가 필요할때 ondata 이벤트에서
데이터를 불러오니까 많은데이타라 할지라도
시간이 걸릴이유가 없읍니다.
물론 데이터가 index를 근거로 불러오는 형태이어야
사용할수있겠지요(이미 배열에들어 있다던가 등등...)

예) 버튼을 누르면 0 ~ 백만까지의 ListView 가 0.1 초내에 끝.
OwnerData = true 로 하시구요.

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ListView1Data(TObject *Sender, TListItem *Item)
{
  Item->Caption=Item->Index;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ListView1->Items->Count=1000001;
}
//---------------------------------------------------------------------------




kobetime 님이 쓰신 글 :
: ListView의 Property를 보면 OwnerData가 있습니다.
:
: 이를 true로 설정하면 Virtual ListView를 구현하게 된다고 하는데,
:
: Virtual ListView가 ListView와 다른점이 뭐죠?
:

+ -

관련 글 리스트
6236 [질문]Virtual List View? kobetime 2142 2001/03/21
6239     Re:[질문]Virtual List View? 방태윤 3225 2001/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.