Q&A

  • StringGrid 의 DrawCell 관련 질문입니다..
if (Sender as TStringGrid).Cells[1,ARow] = '*' then
begin

Font.Style := [fsBold];
FillRect(Rect);
TextRect(Rect,Rect.Left + 3, Rect.Top+4, (Sender As TStringGrid).Cells[ACol,ARow]);

end;

위와 같이 코딩을 하고 Cells[1,ARow]에 '*' 는 버튼을 눌렀을 경우 표시가 되게끔 코딩하였습니다..

근데.. 문제는 '*'가 들어가게 되면 해당 Row의 폰트 스타일이 굵게 변경이 되어야하는데 별 반응 없다가 커서로 스트링그리드를 클릭할 경우에 변경이 된다는 것입니다..

DrawCell이란것이 스트링그리드의 각 Cell에 변화가 일어나면 즉각즉각 반응이 일어나서 화면상에 그려주어야하는게 아닌가요??

궁금궁금.

답변 부탁드립니다..
2  COMMENTS
  • Profile
    돌아버려 2004.03.05 22:15
    일단 DrawCell이벤트는 바로 일어나는 이벤트가 맞고요.^^

    왠지 if (Sender as TStringGrid).Cells[1,ARow] = '*' then
    요 조건때문이 아닐까 하내요.
    혹시 * 이랑 다른문자조합으로 들어가 있는건 아닌가요?
    그게 아니면 Trim을 해보시고요.

    그게 아니라면.^^
    정확히는 잘 모르겠내요.역시 소스를 보면 도움이 될것 같내요.

    즐코하세요.^^


  • Profile
    채태숙 2004.03.06 19:20
    답변 감사합니다..

    님말대로 Trim도 시켜봤는데 잘 안되더라구요..

    문제는 아주 간단한 곳에 있더군요.. 제가 바보같이 '*' 표시하고 스트링그리드를 Refresh을 하지 않았더라구요.. 저의 실수였죠.. ^^ 여튼 답변 감사합니다..