|
이유는 잘 모르겠지만 전부터 약간 말썽이 있던 JEDI JVCL을 지웠다 경로 잘 잡아서 다시 설치하고 나니 되네요ㅡ.ㅡ;;
혹시나 하는 마음에 원래 TStringGrid의 acclistGrid를 이름바꿔 치운다음 JvStringGrid로 새로 하나 만들어 해 보니 잘 되길래 그것을 지우고 원래 것을 이름을 원상태로 돌려서 해 보니 되네요. 원인 불명이고 해결방법도 불명확하지만 이벤트가 발생하게 되었네요.
제가 집하고 회사에서 같이 개발하면서 프로젝트 파일을 CVS로 관리하는데 양쪽 환경에서 JEDI의 일부 설치경로가 틀려서 jvcl쪽 라이브러리를 일부 못 찾고 그랬던 것은 있는데, 그거 외에는 똑같거든요. 정말 알 수 없는 일입니다.
여기서부터는 원문입니다. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
현재 BDS2006 update1 에서 C++로 작업하고 있습니다.
셀 안에 정렬도 하고 색도 바꾸어 넣어보려고 검색을 해 보니 onDrawCell이벤트 핸들러를 지정해 보라해서 해 봤습니다. 여기 있는 코드를 복사해서 넣어봤는데 아무것도 안 변하더라구요. 이것저것 해 보다 안 되고 해서 혹시나 해서 루틴 안에 ShowMessage()함수도 넣어봤는데 그것도 안 뜨는 것을 보니 이벤트 핸들러 자체가 동작을 안 하는 것 같습니다. 그 원인이 뭘까요? ㅜㅜ;
이벤트 핸들러 소스는 아래입니다.
void __fastcall TNCMainForm::AcclistGridDrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
String stData = AcclistGrid->Cells[ACol][ARow].Trim();
ShowMessage("Draw Misdum Cell ");
if( ACol == 5 ) // 합계셀
{
if( stData.c_str()[0] == '-' )
{
AcclistGrid->Canvas->Font->Color = clRed;
} else {
AcclistGrid->Canvas->Font->Color = clBlue;
}
} else {
AcclistGrid->Canvas->Font->Color = clBlack;
}
AcclistGrid->Canvas->TextOut(Rect.Left + 2, Rect.Top + 2, stData);
}
|