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
[75415] Re:Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다.
테두리 [] 2611 읽음    2019-05-15 10:30
소스를 확인하고 있는데, FillRect 말곤 관련되어있을 만한게 안보이는데 Fillrect를 빼면, Focus된 사각영영(점선)이 사라지는게 아니고, 말그대로 채워진 임의 Rect만 빠져서 원하는 결과가 안나오네요 ㅠ
사진 첨부해드립니다. 사진에 보이는 점선이 문제고 그 부분을 없애고 싶습니다. 어떻게 접근하는게 좋을까요...





정성훈.해미 님이 쓰신 글 :
: DefaultDrawing 를 false로 하면
: 그리드 껍데기 모양만 그려지는게 정상입니다.
:
: 어딘가에서 포커스된 셀을 따로 그려주는건 아닌지
: 소스를 다시 확인해 보셔야 할 것 같습니다.
:
:
:  님이 쓰신 글 :
: : 정성훈.해미 님이 쓰신 글 :
: : : 스트링그리드 속성중에
: : : 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를 없애고 싶습니다. 테두리 2425 2019/05/14
75412     Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 정성훈.해미 2479 2019/05/15
75413         Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 2401 2019/05/15
75414             Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 정성훈.해미 2364 2019/05/15
75415                 Re:Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 테두리 2611 2019/05/15
75416                     Re:Re:Re:Re:Re:스트링그리드의 셀을 선택했을 때, 그 Foucs rect를 없애고 싶습니다. 송신영 2468 2019/05/15
75417                         Re:Re:Re:Re:Re:Re: 엉성하게 만들어져있는 VCL 라이브러리 문제 빌더(TWx) 2522 2019/05/15
75418                             감사합니다. 2411 2019/05/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.