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
[5130] Re:Re:Re:TStringGrid에 TCheckBox를 넣기는 했는데 check가 안되서 ...
경호 [ansoni19] 3125 읽음    2001-02-03 10:24
:     TCheckBox *cb = new TCheckBox(this);
:
:     TRect t;
:
:     t = h->CellRect(2,2);
:     h->Objects[2][2] = cb;
:     cb->Parent = h;
:     cb->Color = clBtnFace;
:     cb->Left = t.Left;
:     cb->Top  = t.Top;
:     cb->Width = (t.Right-t.Left);
:     cb->Height = t.Height();
:     cb->Caption= "xx";
:     cb->OnClick = CheckBox1Click;    <-

안녕하세요 경호입니다. 음 체크박스를 동적으로 생성하셨군요
그리구 체크박스의 parent로 stringgrid를 선택하셨군요...

그렇게 하시려면 체크박스를 동적으로 생성시키지 마시구 보이지 않게 속성을
지정하셔서 하나를 올려 놓으시구 위치를 변경시키면서 작업을 하셔요
아마 그렇게 하는게 더 간단항거예요 셀의 위치를 변화시킬때마다 사용자가 선택한 결과를
그리드에 표시해 주고 체크박스는 초기화 해서 움직이면 되는거죠...

님처럼 동적으로 생성할때에는 체크박스의 parent를 form으로 하시구요
음 그럼 한가지 문제가 생기겠죠 마우스를 그리드상에 클릭했을때 위치가
폼에서 클릭했을때와 위치값이 달라져서 다른곳에 체크박스가 생기는 거죠..

그런이유로 체크박스가 생성될 위치를 폼의 위치와 더불어서 다시 계산해 주어야 한답니다.
약간 번거롭죠 ^^

위의 두가지 방법다 별무리는 없이 동작할거예요...
하지만 동적으로 생성하면 계속 new 와 delete를 반복해야 하는것두 있구 약간
번거롭기두 해서 저두 처음에 설명드렸던 방법을 이용해서 셀에 콤보나 래디오등을
넣는 작업을 한적이 있답니다....

그럼 즐프하세요^^

+ -

관련 글 리스트
5105 TStringGrid에 TCheckBox를 넣을수 있나요 ? 원영준 2815 2001/02/02
5110     Re:TStringGrid에 TCheckBox를 넣을수 있나요 ? 경호 3191 2001/02/02
5129         Re:Re:TStringGrid에 TCheckBox를 넣기는 했는데 check가 안되서 ... 원영준 3160 2001/02/03
5130             Re:Re:Re:TStringGrid에 TCheckBox를 넣기는 했는데 check가 안되서 ... 경호 3125 2001/02/03
5111         감사 합니다. 원영준 2694 2001/02/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.