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
[65871] Re:Re:Re:Re:StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요..
갈라파고스인 [fran0416] 1726 읽음    2012-01-05 10:23
조언 감사드립니다.
초보자로서는 도저히 생각해낼수 없었던 문제점이네요..
(저 정도로 초보가 많이 있을까 싶긴 하지만, 누군가가 이 글을 보고 도움을 얻었으면 합니다.)
진짜 그런 문제가 있군요..
스크롤 하면서도 화면이 좀... 이상해지고...

회사에서 특별히 구매절차를 밟을것 같진 않고, 알려주신 3번 꼼수?를 한번 써보도록 하겠습니다.

감사합니다.



장성호 님이 쓰신 글 :
: 음...
:
: 위 방식의 문제점 은
:
: 1.  만약 StringGrid의 Row나 Col이 많아서
: 가로나 또는 세로로 Scroll을 했을 경우에 어떻게 해야하죠?
: ComboBox의 위치를 모두 옮겨줘야 할것 같은데....
:
: 2. Grid의  Column-Width를 변경하게되는 경우는 어떠게 하죠?
:    이때도 변경되는 Column을 포함해 그 뒷쪽으로 모든 ComboBox 의 위치를 재조정해 줘야 하겠죠?
:
: 3. Row가 엄청나게 많은 경우(수천/수만?)
:     ComboBox의 위치값이 ???? 수만 or 수십만?
:
: ==============================
: 대안으로는...
:
: 1 . ComboBox를 지원하는 서드파트 컴포넌트를 사용(유료면 구매하여)하는 방법이 있구요
:
: 2. ComboBox를 지원하는 StringGrid를 만드는 방법이 있구요
:
: 3. 꼼수인데.. ComboBox는 딱 1개만 가지고 있고,.. 값을 수정할때만 Select된 Cell에 ComboBox를 배치하여
:     선택하도록 만들고
:     Edit하지 않을때는 콤보막스 모양(사각형과 오른쪽끝에 내리는 화살표버튼)을 Cell영역에 그려주는 방법
:
:    등이 있을것 같습니다.
:
:
: 1번을 추천합니다.
:
:
: 그럼..
:
:
: 갈라파고스인 님이 쓰신 글 :
: : 예.. 조언 감사드립니다.
: : 제가 그정도 실력이 안되어서요...
: : 찾아보니.. 아래와 같이 하니.. 되네요... 이중 포인터... 이런곳에 쓰는 거였군요..ㅠ.ㅠ
: : 진짜 되는건지는 잘 모르겠습니다.
: :
: : TComboBox **ComboBox2;
: : ComboBox2 = new TComboBox*[i+1];
: : for(int j=0; j < i ; j++)
: : {
: :     ComboBox2[j] = new TComboBox(this);
: :     ComboBox2[j]->Parent    = StringGrid1;
: :     ComboBox2[j]->Style     = csDropDownList;
: :     TRect rect;
: :     rect = StringGrid1->CellRect(2+j,2);
: :     ComboBox2[j]->Top       = rect.Top;
: :     ComboBox2[j]->Left      = rect.Left;
: :     ComboBox2[j]->Width     = rect.Width();
: :     ComboBox2[j]->Height    = rect.Height();
: :     ComboBox2[j]->Visible   = true;
: :          .......
: : }
: : 이런식으로 하니까...
: :
: :
: : 장성호 님이 쓰신 글 :
: : : OnDrawCell 이벤트에
: : : 그림으로 Cell에다가 ComboBox모양 그려 넣으세요.
: : :
: : : 실제로 TComboBox객체 생성해서 넣는것은 거의 불가능합니다.
: : :
: : : --------------------------------------------------------
: : :
: : : 그리고 아래 코드는 문법에 문제가 있네요
: : :
: : : 다음과 같은 코드를 원하시는것은 아닌가 하는 생각이 드네요
: : :
: : : pComboBox[i]= new TComboBox(this);
: : :
: : :
: : : 그럼..
: : :
: : : 갈라파고스인 님이 쓰신 글 :
: : : : 안녕하세요..
: : : :
: : : : String grid에 다수의 ComboBox를 넣어야 합니다. 그래서 아래와 같이...
: : : :
: : : :
: : : : TComboBox *pComboBox = new TComboBox[i+1];
: : : :
: : : :
: : : : 해보았는데요..
: : : :
: : : : default constructor to initialize array element of type TComboBox라고 에러 메세지가 나오네요...
: : : :
: : : : 콤포넌트는 array로 동적 할당을 못하는지요...
: : : :
: : : : 기초가 없이 하는일이라.. 보시기에 좀 어이없어도... 조언 부탁드립니다.
: : : :
: : : : 감사합니다.

+ -

관련 글 리스트
65858 StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요.. 갈라파고스인 1355 2012/01/04
65860     Re:StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요.. 장성호 1466 2012/01/04
65861         Re:Re:StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요.. 갈라파고스인 1445 2012/01/04
65864             Re:Re:Re:StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요.. 장성호 2051 2012/01/04
65871                 Re:Re:Re:Re:StringGrid의 한 row에 ComboBox를 쭉 삽입하고 싶어요.. 갈라파고스인 1726 2012/01/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.