|
TListBox 를 사용하신다면 Items 속성에 BeginUpdate/EndUpdate 함수가 있습니다.
Begin 을 호출하고 업데이트 후 End 를 호출하면 됩니다.
다음은 빌더 도움말의 예제입니다.
void __fastcall Form1::ComboBox1DropDown(TObject *Sender)
{
FontCombo->Items->BeginUpdate(); // prevent repaints until done
FontCombo->Items->Clear(); // empty the list of any old values
FontCombo->Sorted = true; // make sure the font names are sorted
FontCombo->Items = Screen->Fonts; // add the current list of fonts
FontCombo->Items->EndUpdate(); //reenable painting
}
PaintBox 는 저 함수가 없는거같네요;
Bitmap 을 하나 만들어 다 그린후 한번에 뿌려줘야하나봐요
이 방법은 게시판에 있더군요 (좀전에 저도 보고 따라한-_-;)
맛스타 님이 쓰신 글 :
: 타이머를 이용, 리스트박스에 랜덤함수를 사용해서 계속적으로 데이터를 add시키고 clear시키고 있습니다.
: 데이터가 많이 깜빡이네요 ㅡㅡ;
:
: 출력을 PanitBox로도 해보고 있습니다. 게시판에 깜빡임에 관해 찾아보니깐 PaintBox에 관한 내용이 많아서요.
: ex) PaintBox1->Canvas->TextOutA(0,0,"String((char*)x)" );
: 문제는 게시판은 거의 다 그림에 관한 내용인데 전 텍스트입니다.
: (거의 비슷할 것이란 나름의 판단하에 ㅡㅡ;PaintBox로 실험했습니다.)
:
: 리스트박스와 PaintBox에선 DoubleBuffer = true;가 안 먹혔습니다
: (main form 생성자 부분에서 다음 코드를 넣었습니다. this->DoubleBuffered=true;)
:
: DoubleBuffer말고도 게시판의 다른 방법을 써보고도 있는데 잘 되지 않습니다.
: 한 수 가르침 부탁드릴께요~*
|