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
[75413] Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다.
[] 2427 읽음    2019-05-15 09:33
정성훈.해미 님이 쓰신 글 :
: 스트링그리드 속성중에
: 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]);
: }
:
:
:
:
: 테두리 님이 쓰신 글 :
: : 제목 그대로의 내용입니다.
: :
: : 셀 선택시 점선으로 포커스 된 부분에 사각형이 그려지는데, 이게 안그려지게 하고 싶어요 ㅠㅠㅠ 이것때문에 자꾸 심적으로 앓고 있다가 결국 못찾아서 올립니다. 도와주세요 !!





제가 설명이 짧았던 모양입니다. 이미 DefaultDrawing은 False로 해둔 상태입니다. 그럼에도 셀을 선택하면 FocusRect가 점선처럼 그려지는 것 같은데, 이 사각영역을 없애고 싶어 드린 질문이었습니다.










+ -

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