|
안녕하세요
예전에 'DBGrid의 행 마다 다른 색깔을 순서대로 주고싶다'고 질문을 올리고
자답이라며(아래코드) 올린적이 있었는데 그게 알고보니 안되네요 ㅡ,ㅡ
(행의 갯수를 추가하면 색깔 순서가 틀어짐)
아래 코드------------------------------------------------------------
void __fastcall T_MAIN::DBGrid3DrawColumnCell(TObject *Sender,
const TRect &Rect, int DataCol, TColumn *Column,
TGridDrawState State)
{
static int row_index;
DBGrid3->Canvas->Font->Color = Chart1->Series[row_index]->SeriesColor; //색깔 지정
DBGrid3->Canvas->FillRect(Rect);
DBGrid3->Canvas->TextOut(Rect.Left+1, Rect.Top+3, Column->Field->AsString);
if(++row_index>(selectcount-1)) //행 갯수
row_index=0;
//selectcount = ADOQuery10->RecordCount;
}
-------------------------------------------------------------------------------
이해가 안가는건 sleep을 써서 active되는 cell의 순서를 보니
셀이 차례대로 선택되지 않는 것입니다.
예를 들어 1,2,3,4로 이름붙인 4개의 행이 있다면
예상 순서는 1,2,3,4,1,2,3,4가 되어야 하는데
1,2,3,4,2,3,4,...
왔다갔다 하는 것 처럼 보입니다.
active되는 행이 몇번째인지 알 수 있다면 어떻게 꼼수라도 부려보겠는데요..
그거라도 알려주시는 분 있으면 감사드릴께요.
이 문제를 어떻게 해야할지 모르겠네요
경험 있으신 분 답 주시면 넘 감사드릴께요~~
이것땜시 며칠이 날라가고 있는건지 원...ㅠ.ㅠ
|