Q&A

  • StringGrid에서 입력된 글 align 하는 법을 알려주세요.
스트링 그리드에서

입력된 글자를 표시하는데. 셀의 중간 또는 오른쪽으로 보내는 방법을
알려주세요..

1  COMMENTS
  • Profile
    이영범 2002.11.22 01:04
    procedure TForm1.Grid_CBGTDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    var
         CellStr  : String;
         LeftPos  : Integer;
    begin
      if ARow = 0 then // 가운데 정렬
      begin
        with TStringGrid(Sender).Canvas do
        begin
          CellStr := TStringGrid(Sender).Cells[ACol, ARow];
          LeftPos := ((Rect.Right - Rect.Left - TStringGrid(Sender).Canvas.TextWidth(CellStr)) div 2) + Rect.Left;
          FillRect(Rect);
          TextOut(LeftPos, Rect.Top + 2, CellStr);
        end;
      end;

      if (ARow <> 0 ) And ( (aCol >= 2) and (aCol <= 3) ) then  //오른쪽 정렬
      begin
        with TAdvStringGrid(Sender).Canvas do
        begin
          CellStr := TAdvStringGrid(Sender).Cells[ACol, ARow];
          LeftPos := Rect.Right - TAdvStringGrid(Sender).Canvas.TextWidth(CellStr);
          FillRect(Rect);
          TextOut(LeftPos-2, Rect.Top+2, CellStr);
        end;
      end;
    end;