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
[46401] Re:버튼 수백개 배열
장성호 [nasilso] 1116 읽음    2006-09-01 12:31
[답변]
폼생성할때..
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;
:
:
: 요런식으로 했습니다.

+ -

관련 글 리스트
46399 버튼 수백개 배열 김성준 922 2006/09/01
46401     Re:버튼 수백개 배열 장성호 1116 2006/09/01
46403         Re:여전하네요 ㅜ.ㅜ 김성준 917 2006/09/01
46404             Re:Re:여전하네요 .. 이런방법은 어떨런지요..? 장성호 926 2006/09/01
46407                 Re:죄송스럽게도.. 김성준 905 2006/09/01
46408                     Re:Re:죄송스럽게도.. 그럼... TSpeedButton을 이용함은 어떨런지요? 장성호 1070 2006/09/01
46409                         Re:감사합니다^^ 김성준 873 2006/09/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.