매번 답변 주셔서 감사합니다.
해본 결과로는
DataCol은 열의 갯수이더라구요..잘 안되는데요
저같은 경우 9개의 column이 있어서 항상 9
다른 방법이 없을까요?
도움의 손길 주시면 감사하겠습니다.ㅠㅠ
(한미르 메일은 정리햇습니다.^.^)
정성훈.해미 님이 쓰신 글 :
: 안녕하세요.
: 정성훈.해미입니다.
:
: DBGrid의 DrawColumnCell이벤트에 다음과 같이 해보세요.
: 확인한 건 아니라서 확실히 된다고 장담 못함......ㅋ
:
: StringGrid에서 같은 구현을 사용했었는데 그리드라서 비슷할 것 같네요.
: 이벤트에 DataCol이 행 번호를 의미하는 인자입니다.
: 아마 오브젝트인스펙터에서 DefaultDrawing을 false로해야 동작할 꺼여욥.
: 즐프하셈~~
:
: if(DataCol==1)
: {
: ((TDBGrid*)Sender)->Canvas->Font->Color = clRed;
: }
: else if(DataCol==2)
: {
: ((TDBGrid*)Sender)->Canvas->Font->Color = clYellow;
: }
:
: //----------------------------------------
: // ┏┓
: // ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
: // ┃♡┃┣ ┣┫┏┓
: // ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
: // ━━━━━━━━━┣┛┣┛┗┫━━━━━━
: // Web Site:
http://www.hemistory.net
: // e-mail: sage5nor@chol.com
: //----------------------------------------
: 미나 님이 쓰신 글 :
: : 제목처럼 DBGrid 각각 행마다 글씨 색깔을 다르게 해주고싶습니다.
: : QnA 검색 결과
: : 델파이로 구현한 것은 있긴한데 제가 잘 모르겠더라구요
: :
: : 그 외에 특정 행을 마우스 클릭했을 때 그 행의 색깔을 바뀌게 해주는 소스는 찾았는데요
: :
: : 아래 소스
: : ------------------------------------------------------------------------------------------
: : DrawColumnCell 이벤트안에서
: : if(Column->FieldName != "EMP_NAME")//"EMP_NAME"이외의 컬럼은 디폴트로 그리라는 의미.
: : return; //원하시는 컬럼의 이름을 기술하시면 됩니다.
: : Variant vFieldVal = Column->Field->Value;
: :
: : if (State.Contains(Grids::gdSelected)) {//선택된 행
: : DBGrid3->Canvas->Brush->Color = clBlue;
: : DBGrid3->Canvas->FillRect(Rect);
: : DBGrid3->Canvas->Font->Color = clRed;
: : }
: : else { //선택되지 않은 행
: : DBGrid3->Canvas->Brush->Color = clYellow;
: : DBGrid3->Canvas->FillRect(Rect);
: : DBGrid3->Canvas->Font->Color = clBlack;
: : }
: : DBGrid3->Canvas->TextOut(Rect.Left + 2, Rect.Top + 2, vFieldVal);
: : -----------------------------------------------------------------------------------
: : 제가 해주고싶은 것은
: : 1행 글씨 색깔 - 빨강
: : 2행 글씨 색깔 - 노랑
: : 이런식으로 행마다 색깔을 고정시키고픈데..
: : 각 '행'을 어떻게 지정해야할지 모르겠습니다.
: :
: : 검색결과
: : Query->MoveBy(index)
: : 를 이용하라는데 잘 안되네요..능력부족 ㅜ,ㅜ
: :
: : 도움 주시면 너무너무 감사드리겠습니다. *^^*