안녕하세요?
스트링그리드의 셀 색을 바꾸고 문자를 출력하려고 다음과 같은 코드를 만들었읍니다.
<!--CodeS-->
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[1, 1] := '1';
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
StringGrid1.Canvas.Brush.Color := clBtnFace;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.Font.Color := clBlack;
StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[acol, arow]);
end;
<!--CodeE-->
셀의 색을 바꾸기 전과 달리 텍스트아웃을 이용하여 문자 출력을 위한 좌표를 입력해야 하는데요.
예제들을 한참 찾아 봐도 위의 것이 제일 단순화된 것 같지만 셀의 색을 바꾸면 위와 같이 문자 출력 좌표를 제어해야 하는 불편을 감수하는 것이 불가피한 것인지 의문이 생겨서 이렇게 글을 올립니다.
그럼 이만.
써드 파티 컴포넌트중에는 이러한것들도 속성이나 메소드로 쉽게 제어 할 수 있도록 되어 있는 것들도 있겠지만 입맛에 맞는것을 찾기가 쉽지 않죠...