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
[27101] 죄송합니다 까먹어버렸네요..--;
요쿠르트 [] 597 읽음    2003-09-06 05:14
스트링 그리드에서 셀의 색깔 바꾸는 걸 까먹어서요..

지난번에 글 올려서 해결했는데..
그동안 스트링 그리드가 아니라 디비그리드를 쓰다가 사정상 스트링 그리드를 써야하는데..
이건 어떻게 하는지 생각이 영..--;

암튼 게시판 뒤져서

void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, long Col, long Row, TRect &Rect, TGridDrawState State)
{
  long index = ARow * StringGrid1->ColCount + ACol;
  StringGrid1->Canvas->Brush->Color = ColorBox1->Selected;
  StringGrid1->Canvas->FillRect(Rect);
  ImageList1->Draw(StringGrid1->Canvas,Rect.Left,Rect.Top,index);
  if (State.Contains(gdFocused))
  StringGrid1->Canvas->DrawFocusRect(Rect); 
}

이 코드를 찾았거든요..

근데 위의 처럼 했더니 셀의 색은 바뀌는데...
그 안의 글자가 보이지 않아서..
다시 글을 올렸더니..

StringGrid1->Canvas->Font->Color = clRed;
StringGrid1->Canvas->Font->Style = TFontStyles()<<fsBold; 
를 추가하라고 나왔거든요..

그래서..

long index = ARow * StringGrid1->ColCount + ACol;
StringGrid1->Canvas->Brush->Color = ColorBox1->Selected;
StringGrid1->Canvas->Font->Color = clRed;
StringGrid1->Canvas->Font->Style = TFontStyles()<<fsBold;  
StringGrid1->Canvas->FillRect(Rect);
ImageList1->Draw(StringGrid1->Canvas,Rect.Left,Rect.Top,index);
if (State.Contains(gdFocused))
StringGrid1->Canvas->DrawFocusRect(Rect); 
이렇게 써 봤더니..

그래도 셀 안의 글자가 보이지 않거든요..
뭘 잘못한거죠..?

분명히 그때 이거 보고 제대로 되서 좋아한 적이 있는데..ㅜㅜ


+ -

관련 글 리스트
27101 죄송합니다 까먹어버렸네요..--; 요쿠르트 597 2003/09/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.