|
[답변]
폼생성할때..
GroupBox1->DoubleBuffered=true;
Button들이 모두 Handle을 가지고 있는것이라서
저렇게 할경우 얼마나 빨라질지 모르겠습니다만
일반적으로 더블버퍼링하면 껌뻑거림이 많이 사라집니다.
GroupBox1->DoubleBuffered=true;
이렇게 하면 GroupBox1이 더블버터링으로 돌아간다는 뜻입니다.
아래 코드를 보니까 Button들이 GroupBox1위에 올려져 있는것 같아서 이렇게 코딩했는데
@더블버퍼링은?
정확하게는 Button들이 올려져있는 Button들의 Parent컨트롤을 더블버퍼링해야합니다.
만약 Button이 TForm *Form1위에 있으면
Form1->DoubleBuffered=true;
TPanel *Panel위에 있으면
Panel1->DoubleBuffered=true;
이런식으로 해야 더블버퍼링의 효과를 볼수있습니다.
김성준 님이 쓰신 글 :
: 화면에 버튼을 약 300개를 배열해 놨는데
:
: 폼을 리사이즈를 하면 버튼의 크기와 위치를 수정하게끔 했는데
:
: 리사이즈 할때마다 화면이 버벅댄다고 할까요.. 느리게 재구성 된다고 할까요..
:
: 버튼수가 많아서 이러는건지^^;;
:
: int reHeight = 0;
: int reTop = 0;
: reHeight = ((GroupBox1->Height-5) / 32) + 1;
: for(i=0;i<=31;i++)
: {
: selFirst[i]->Width = 46;
: selFirst[i]->Height = reHeight;
: selFirst[i]->Left = 8;
: reTop = 117 + (i * selFirst[i]->Height) - i;
: selFirst[i]->Top = reTop;
:
: selSecond[i]->Width = 46;
: selSecond[i]->Height = reHeight;
: selSecond[i]->Left = 52;
: selSecond[i]->Top = reTop;
:
: numInput[i]->Width = 36;
: numInput[i]->Height = reHeight;
: numInput[i]->Left = 105;
: numInput[i]->Top = reTop;
:
: camName[i]->Width = (Shape5->Width /2) - 79;
: camName[i]->Height = reHeight;
: camName[i]->Left = 134;
: camName[i]->Top = reTop;
:
: selA[i]->Width = 40;
: selA[i]->Height = reHeight;
: selA[i]->Left = camName[i]->Width + 132;
: selA[i]->Top = reTop;;
:
: selB[i]->Width = 40;
: selB[i]->Height = reHeight;
: selB[i]->Left = selA[i]->Left + 38;
: selB[i]->Top = reTop;
:
:
: 요런식으로 했습니다.
|