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
[75412] Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다.
정성훈.해미 [sage5nor] 2506 읽음    2019-05-15 09:17
스트링그리드 속성중에
DefaultDrawing이 있습니다.

기본이 DefaultDrawing = true인데

true일 경우,
그리드가 자동으로 그려집니다.

false로 하면
그리드를 원하는 대로 그릴수 있습니다.

DefaultDrawing 를 false로 하고

OnDrawCell 이벤트에서 직접 그려주면 원하는 것을 할 수 있습니다.

예)
1. 스트링그리스 속성에서
DefaultDrawing 를 false로 하거나

폼 생성자에 아래 코드를 추가합니다.
    StringGrid1->DefaultDrawing = false;

2. 스트링 그리드의 OnDrawCell 이벤트를 아래와 같이 작성합니다.
void __fastcall TForm2::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)
{
// 셀 그리기
    // 고정 셀은 버튼 모양으로
    if(State.Contains(gdFixed)) {
        StringGrid1->Canvas->Brush->Color = clBtnFace;
        StringGrid1->Canvas->Font->Color = clWindowText;
        StringGrid1->Canvas->FillRect(Rect);
        Frame3D(StringGrid1->Canvas, Rect, clBtnHighlight, clBtnShadow, 1);
    }
    // 선택된 셀은 하이라이트 색
    else if (State.Contains(gdSelected))
    {
        StringGrid1->Canvas->Brush->Color = clHighlight;
        StringGrid1->Canvas->Font->Color = clHighlightText;
        StringGrid1->Canvas->FillRect(Rect);
    }
    // 나머지 셀은 기본 색으로
    else
    {
        StringGrid1->Canvas->Brush->Color = StringGrid1->Color;
        StringGrid1->Canvas->Font->Color = StringGrid1->Font->Color;
        StringGrid1->Canvas->FillRect(Rect);
    }

// 셀 내용(텍스트) 출력
    StringGrid1->Canvas->TextRect(Rect, Rect.Left, Rect.Top, StringGrid1->Cells[ACol][ARow]);
}




테두리 님이 쓰신 글 :
: 제목 그대로의 내용입니다.
:
: 셀 선택시 점선으로 포커스 된 부분에 사각형이 그려지는데, 이게 안그려지게 하고 싶어요 ㅠㅠㅠ 이것때문에 자꾸 심적으로 앓고 있다가 결국 못찾아서 올립니다. 도와주세요 !!

+ -

관련 글 리스트
75411 스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 테두리 2453 2019/05/14
75412     Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 정성훈.해미 2506 2019/05/15
75413         Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 2428 2019/05/15
75414             Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 정성훈.해미 2389 2019/05/15
75415                 Re:Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 테두리 2644 2019/05/15
75416                     Re:Re:Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 송신영 2490 2019/05/15
75417                         Re:Re:Re:Re:Re:Re: 엉성하게 만들어져있는 VCL 라이브러리 문제 빌더(TWx) 2551 2019/05/15
75418                             감사합니다. 2437 2019/05/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.