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
[19253] Re:오너드로우 리스트박스가 느리게 돌아가요.
유영인.Chris [cuperido] 812 읽음    2002-06-11 10:18
출력이 느릴 때, 가장 도움이 되는 방법은 각각의 Refresh 를 죽여 놓는 방법입니다.

Lines 프로퍼티에 BeginUpdate(), EndUpdate() 메소드가 있는데, 그리시기 전에 BeginUpdate()를 호출하시면, EndUpdate()가 나올때까지, 업데이트가 잠시 보류됩니다.



유지상 님이 쓰신 글 :
: 리스트박스를 하나 만들고, 그 리스트박스가 화면에 스트링을 나타낼 때에 스트링이 다 한 줄로 나오지 않고 '\n'에서는 다음 줄로 건너가도록 하기 위하여,
: 다음과 같이 짯습니다.
: 그런데, 이렇게 짜놓으니까, 리스트박스가 디스플레이되는데 좀 많이 버벅거리는 것 같던데, 즉, 좀더 무겁게 돌아가던데, 이 문제를 어떻게 해결해야될까요?
:
: __fastcall TForm1::TForm1(TComponent* Owner)
:   : TForm(Owner)
: {
:   this->Position = poDesktopCenter;
:   ListBox1->Style = lbOwnerDrawVariable;
:   ListBox1->MultiSelect = true;
: }
:
: void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
:       TRect &Rect, TOwnerDrawState State)
: {
:   //TODO :
:   TListBox* Lst = (TListBox*)Control;
:
:   DrawText(Lst->Canvas->Handle, Lst->Items->Strings[Index].c_str(),-1,&Rect,DT_WORDBREAK);
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::ListBox1MeasureItem(TWinControl *Control,
:       int Index, int &Height)
: {
:   //TODO :
:   TListBox* Lst = (TListBox*)Control;
:   TRect rect = Lst->ItemRect(Index);
:
:   DrawText(Lst->Canvas->Handle, Lst->Items->Strings[Index].c_str(),-1,&rect,DT_CALCRECT|DT_WORDBREAK);
:   Height = rect.Height();
: }
:
:

+ -

관련 글 리스트
19245 오너드로우 리스트박스가 느리게 돌아가요. 유지상 929 2002/06/10
19253     Re:오너드로우 리스트박스가 느리게 돌아가요. 유영인.Chris 812 2002/06/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.