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
[28011] [질문]StringGrid의 병합 및 선택에 관련된 질문입니다.
초보 [] 1206 읽음    2003-11-28 13:57
StringGrid에서 OnDrawCell Event Handler를 사용하여 다음과 같은 방법으로 Cell을 병합하는 데는 성공(?)하였습니다.

void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
    TStringGrid* tmpSender = dynamic_cast<TStringGrid*>(Sender);

    if ((ACol==1) && (ARow%2==1)) {
        TRect tmpRect = TRect(tmpSender->CellRect(ACol,ARow).Left,
                      tmpSender->CellRect(ACol,ARow).Top,
                      tmpSender->CellRect(ACol,ARow).Right,
                      tmpSender->CellRect(ACol,ARow+1).Bottom);
        Rect = tmpRect;
             tmpSender->Canvas->FillRect(Rect);

    }

    if (State.Contains(gdFocused))
        tmpSender->Canvas->DrawFocusRect(Rect);   
}

문제는, 셀을 클릭할 때 병합된 셀 전체가 선택되지 않고 원래 분할된 부분이 선택된다는 것과, Fixed Title부분의 Cell을 위의 방법으로 병합할 때는 가운데 부분에 희미한 선이 보인다는 것입니다.

셀을 병합할 때 이런 방법으로 하는 것이 맞는건지(아니면 뭔가 다른 방법이 있는 것인지), 위와 같은 문제가 생기지 않게 하려면 어떻게 해야 하는지 고수님들의 가르침 부탁드립니다.

+ -

관련 글 리스트
28011 [질문]StringGrid의 병합 및 선택에 관련된 질문입니다. 초보 1206 2003/11/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.