Q&A

  • 스트링그리드에 그림과 같은 기능이 있나요?


안녕하세요..델초보입니다
스트링그리드의 기능중에
그림처럼...셀선택시 테두리를 굵은선으로 효과를줄 방법이 있나요?
고수님들의 답변 기다리겠습니다.
1  COMMENTS
  • Profile
    실크맨 2005.07.30 20:24
    샘플로 만들어 봤습니다....

    그리드의 OnDrawCell 이벤트에
    <!--CodeS-->
    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
      if gdFocused in State then
        with Sender as TStringGrid do
        begin
          Canvas.Pen.Color := clBlack;
          Canvas.Pen.Width := 3;
          Canvas.Rectangle(Rect);
        end;
    end;
    <!--CodeE-->

    그리드의 OnSelectCell 이벤트에
    <!--CodeS-->
    procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean);
    begin
      (Sender as TStringGrid).Invalidate;
    end;
    <!--CodeE-->

    위에 코드는 샘플이며, 텍스트 보여주기 처리 및 그리드의 옵션, 라인의 너비...등등 여러 경우에 맞게
    처리해주어야 할 일들이 더 많을것 입니다...

    개인적으로는 ActiveX 탭에 있는 F1Book 컴포넌트 사용을 권장합니다....