|
9720번(조로님의 글)을 테스트 해보니 잘 동작 하더군요.저두 하나 배웠습니다.^^
다만 defaultdrawing 이 ture 인상태의 예문 같습니다.
defaultdrawing 이 false 인경우에는
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (iCol == ACol && iRow == ARow)
{
StringGrid1->Canvas->Brush->Color = clRed;
StringGrid1->Canvas->FillRect(Rect);
}
}
에서 아닌경우도 처리해 줘야 할것 같습니다.
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (iCol == ACol && iRow == ARow)
{
StringGrid1->Canvas->Brush->Color = clRed;
StringGrid1->Canvas->FillRect(Rect);
}else{
StringGrid1->Canvas->Brush->Color = clWhite;
StringGrid1->Canvas->FillRect(Rect);
}
}.끝.
Jun 님이 쓰신 글 :
: 안녕하세요...오랜만에 질문드립니다..^^;
: 매 번 질문만 드려 송구스런 마음이 가득하네요....
:
: 검색을 통해 stringgrid에서 마우스 올라간 셀의 색깔 바꾸는 작업을 했는데요...
: string grid에서 마우스가 나갔을때 이 색깔 변한 것이 남아있어서 문제가 있네요...
: 마우스가 string grid에서 나가면 색깔을 원상태로 돌려줘야 하는데.....
:
: 어떤 식으로 해야 할까요...
: faq에 있는 messagemap을 이용하여 mouseleave를 사용해야 하는 건가요?
:
:
: 9720번(조로님의 글)을 참고하였습니다..
:
|